Under the Hood

Module map and threading model.

Module map

FileRole
app.pyTkinter GUI — toolbar, results table, detail panel, deep-scan popup window
scanner.pyCore discovery engine — ARP/ping sweep, hostname resolution, vendor lookup, quick classification
deep_scan.pyFull port sweep, banner grabbing, SNMP, NetBIOS, UPnP/SSDP, OS fingerprinting
mdns_discovery.pyPassive zeroconf/Bonjour browse for names and service records
exporter.pyCSV / HTML / JSON writers
deps/Vendored copies of scapy, zeroconf, ifaddr for offline/no-pip environments

Both scan stages run on background threads and report progress back to the Tkinter main loop via after(0, …) callbacks, so the table streams results live instead of blocking the UI for the duration of a sweep.