pyIPScanner
Desktop network reconnaissance tool that discovers, fingerprints, and deep-scans every device on your LAN
Overview
A desktop network reconnaissance tool built with Python and Tkinter. A quick scan finds every live IP on the subnet in seconds via ARP/mDNS/UPnP discovery and infers a device type for each host from port signatures, MAC vendor, hostname, and TTL. A deep scan goes host-by-host for a full 1-65535 port sweep, service banners, SNMP and NetBIOS identity, UPnP device descriptions, and a TTL-based OS fingerprint. Everything runs locally — no cloud lookup, no telemetry.
Features
- Quick scan — ARP/ping sweep + mDNS browse + UPnP/SSDP discovery of every live host on the subnet
- 16 recognized device types inferred from port signatures, MAC vendor, hostname, mDNS service, and TTL
- Deep scan — full 1-65535 port sweep with banner grabbing, SNMP sysDescr/sysName, NetBIOS name, and UPnP device description
- TTL-based OS fingerprint combined with open-port signatures
- Smart-home UDP probing for Yeelight, Xiaomi miio, and Tuya-local devices that don't open a TCP port
- Export results to CSV, HTML, or JSON with deep-scan data merged in
Requirements
- Python 3Administrator (Windows) or root (Linux/macOS) for raw-socket ARP scanningBundled deps/ folder as an offline fallback (scapy, zeroconf, manuf, ifaddr)
Installation
1. Install dependencies
pip install -r requirements.txt2. Run (Windows: right-click -> Run as Administrator)
python app.pyKnown Issues
- Without Administrator/root privileges, ARP scanning is unavailable and the tool falls back to a ping sweep — hosts that block ICMP echo are invisible
- Some routers/managed switches block multicast between VLANs or Wi-Fi/Ethernet segments, which prevents mDNS discovery from working across those segments
Changelog
- - Initial import from GitHub
Technologies
Latest Release
Related Projects
PyPing
Production-ready Python network monitor with alerting and a web portal
PyServer Manager
Self-hosted dashboard for managing Python services on Linux without SSH
IT Equipment Borrowing System
Django system for managing IT equipment borrowing within an organization