A blazing-fast Python tool that finds every gadget on your network and scans their portsβlike a digital game of hide and seek! Discover, scan, export, done. Perfect for curious minds, sysadmins, and anyone who loves a little network magic. π
- β¨ Key Features
- β‘ Quick Start
- π οΈ How It Works
- π Project Structure
- βοΈ Installation & Usage
- π Sample Output
- π€ Contributing
- π€ About the Author
- π Future Features / TODO
- π License
- Device Discovery: Identifies all responsive hosts on a local subnet using ARP requests.
- Concurrent Port Scanning: Uses a ThreadPoolExecutor for super-fast, simultaneous port scans.
- Flexible Scan Options: Quick, full, and custom scan modes for any situation.
- Data Export: Saves all scan results to
scan_results.csvfor easy analysis. - User-Friendly CLI: Progress bars and prompts for a smooth user experience.
git clone https://github.com/omegaabot/Net_Scan.git
cd Net_Scan
python -m venv env
source env/bin/activate # On Windows use `env\Scripts\activate`
pip install -r requirements.txt
sudo python3 net_scan.py # On Linux/macOS
# or
python net_scan.py # On Windows (run as Administrator)- Scapy crafts an ARP request and broadcasts it on the local subnet.
- Collects ARP replies to detect live devices (IP & MAC).
- For each discovered IP, uses a thread pool for fast, concurrent scans.
- Attempts to connect to each port; reports open services.
Net_Scan/
βββ .gitignore
βββ LICENSE
βββ README.md
βββ requirements.txt
βββ net_scan.py
Tip:
If you plan to write tests, add a/testsfolder.
-
Clone the Repository
git clone https://github.com/omegaabot/Net_Scan.git cd Net_Scan -
Install Dependencies
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate pip install -r requirements.txt
-
Run the Scanner
- Linux/macOS:
sudo python3 net_scan.py - Windows:
Open as Administrator and run:
python net_scan.py
- Linux/macOS:
-
Follow Prompts:
Enter the target subnet and choose the scan type.
[*] Simple Network Scanner
Enter target subnet (e.g., 192.168.1.0/24): 192.168.1.0/24
--- Port Scan Options ---
q - Quick scan of common ports
f - Full scan of all 65,535 ports (very slow)
c - Custom scan of user-specified ports
Enter your choice [q]: q
[*] Quick scan selected.
[INFO] Discovering devices on 192.168.1.0/24...
[INFO] Discovered 3 device(s).
Scanning hosts for open ports...
Scanning hosts: 100%|ββββββββββββββββββββββββββββββββββ| 3/3 [00:02<00:00, 1.50it/s]
192.168.1.1 (a1:b2:c3:d4:e5:f6): [53, 80, 443]
192.168.1.102 (a2:b3:c4:d5:e6:f7): [8080]
192.168.1.105 (a3:b4:c5:d6:e7:f8): []
[β] Results also saved to scan_results.csv
Contributions, issues, and feature requests are welcome!
- Fork the repo
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Aditya Raj
βIβm still learning, but Iβm building every day β one project at a time.β
- Add UDP port scanning
- Add OS fingerprinting
- Export results in JSON format
- Web-based UI
- Scheduled/automated scans
- Improved error handling and reporting
This project is licensed under the MIT License.
Copyright (c) 2025 Aditya Raj