sahilwadeaitech-art/network-scanner-tool
GitHub: sahilwadeaitech-art/network-scanner-tool
Stars: 0 | Forks: 0
# Network Scanner Tool
A desktop network scanner and diagnostics tool. Scans local networks for active devices, checks open ports, and runs basic diagnostics (ping, DNS, traceroute) — all from one interface.
Built with Python and CustomTkinter. Dark theme UI.
## What it does
- **Network discovery** — finds active devices on your subnet (IP, hostname, MAC, response time)
- **Port scanning** — TCP connect scan with service detection and banner grabbing
- **Ping** — parsed ping output with min/avg/max stats
- **DNS lookup** — forward and reverse resolution
- **Traceroute** — hop-by-hop path with latency
- **Report export** — saves scan results to structured .txt files
## Screenshots
*Coming soon — need to take some clean ones on Windows*
## Setup
git clone https://github.com/sahilwadeaitech-art/network-scanner-tool.git
cd network-scanner-tool
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
python main.py
Needs Python 3.9+. Some features (like ARP MAC detection) need admin/root.
## How to use
The sidebar has four panels:
1. **Dashboard** — overview with quick actions and activity log
2. **Network Scan** — auto-detects your subnet, scans for hosts
3. **Port Scanner** — enter an IP, pick quick/full/custom range
4. **Diagnostics** — ping, nslookup, traceroute in tabs
Scan results show up in real-time. You can export reports from the sidebar.
## Stack
- Python 3.9+
- CustomTkinter (UI)
- socket / subprocess (scanning)
- psutil (network interface detection)
- threading + concurrent.futures (parallel scans)
- scapy (optional, for advanced packet stuff later)
## Project layout
src/
├── ui/ # all the panels and widgets
├── scanner/ # network discovery + port scanner
├── diagnostics/ # ping, dns, traceroute wrappers
├── analytics/ # stats calculations for dashboard
├── services/ # scan orchestration, report generation
└── utils/ # constants, network helpers
## Building an exe
pip install pyinstaller
pyinstaller --onefile --windowed --name "NetworkScanner" main.py
## TODO / roadmap
- [ ] topology visualization (networkx graph)
- [ ] better service fingerprinting
- [ ] scheduled/repeated scans
- [ ] PDF reports
- [ ] save scan history between sessions
- [ ] SNMP queries for managed switches
## License
MIT