Lokaler Netzwerkscanner
Eine Tkinter-GUI, die ein lokales IPv4-Netzwerk scannt (ARP + nmap-Sonden), Geräte anzeigt, vollständige Port-Scans ermöglicht und Ergebnisse exportiert.
Kurzübersicht
- ARP-Scan, um Geräte im LAN zu entdecken.
- Verbesserte nmap-Sonden für Hostname, Hersteller, offene Ports, OS-Schätzung und Latenz.
- Vollport-Button führt einen intensiven nmap-Scan für ein ausgewähltes Gerät durch.
- Intelligente Risikobewertung (Niedrig/Mittel/Hoch/Kritisch) basierend auf erkannten offenen Ports.
- Echtzeit-Dashboard-Statistiken (Gesamtgeräte, Hosts mit offenen Ports, Hochrisiko-Hosts, durchschnittliche Latenz).
- Live-Filterung/-Suche und sortierbare Tabellenspalten für schnellere Triage.
- Ausgewähltes erneut scannen, IP kopieren und Netzwerkeinblicke (lokale/öffentliche IP + Plattformdetails).
- Ergebnisse als CSV oder JSON exportieren.
Voraussetzungen
- Windows 10/11 (getestet)
- Python 3.9+ (3.10+ empfohlen)
- Nmap installiert und im PATH (Download von https://nmap.org/)
- Npcap installiert (von scapy unter Windows benötigt) — wählen Sie ggf. "WinPcap-kompatiblen Modus"
- Skript mit Administratorrechten ausführen für vollständige Funktionalität (ARP, Raw-Sockets, einige nmap-Funktionen)
Python-Pakete (Installation über requirements.txt):
- scapy
- python-nmap
- tqdm
- requests
Installation
- PowerShell öffnen (empfohlen: als Administrator ausführen, der Einfachheit halber)
- Virtuelle Umgebung erstellen und aktivieren (optional, aber empfohlen)
- python -m venv .venv
- ..venv\Scripts\Activate.ps1
- Pakete installieren
- pip install -r requirements.txt
Stellen Sie sicher, dass nmap.exe installiert und im PATH verfügbar ist (führen Sie nmap --version zur Überprüfung aus).
GUI starten
Empfohlen (Windows):
- Rechtsklick auf Visual Studio Code und "Als Administrator ausführen" wählen, Projekt öffnen, F5 zum Debuggen oder Ausführen drücken.
- Oder eine Administrator-PowerShell öffnen und ausführen:
Hinweise:
- Das Programm fordert beim Start eine Rechteerhöhung an (ShellExecute). Wenn Sie von VS Code aus starten, starten Sie VS Code als Administrator, damit der integrierte Debugger korrekt mit Berechtigungen startet.
- Wenn die GUI nach Annahme der UAC-Eingabeaufforderung nicht erscheint, führen Sie das Skript direkt aus einer erhöhten PowerShell aus, um es zu überprüfen.
VS Code-Konfiguration
Wenn Sie eine Debug-Konfiguration wünschen, fügen Sie .vscode/launch.json hinzu (Beispiel):
{
"version": "0.2.0",
"configurations": [
{
"name": "Network Scanner (Admin)",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/app.py",
"console": "integratedTerminal",
"args": []
}
]
}
Wichtig: Unter Windows ist es einfacher, VS Code selbst als Administrator auszuführen (Rechtsklick → Als Administrator ausführen), bevor Sie die Debug-Konfiguration starten.
Verwendung der GUI
- IP-Bereichseingabe akzeptiert:
- CIDR:
192.168.1.0/24
- Einzelne IP:
192.168.1.10
- Bereiche mit Bindestrich:
192.168.1.1-254 oder 192.168.1.10-192.168.1.20
- Platzhalter:
192.168.1.*
- Komma-getrennte Liste:
192.168.1.1,192.168.1.5,192.168.1.100
- Schaltflächen:
- Scan starten — ARP-Entdeckung + leichte Sonden
- Vollständiger Port-Scan — Zeile auswählen, klicken, um einen intensiven nmap-Scan auf dieser IP auszuführen
- Ausgewähltes erneut scannen — aktualisiert Details nur für den aktuell ausgewählten Host
- IP kopieren — kopiert die IP des ausgewählten Hosts in die Zwischenablage
- Netzwerkeinblicke — gibt lokale/öffentliche Netzwerkmetadaten im Log-Panel aus
- Stopp — Scan-Stopp anfordern
- CSV exportieren / JSON speichern — gesammelte Geräteinformationen speichern
- Beenden — App schließen
- Geräte in Echtzeit filtern (Suche nach IP, Hostname, Hersteller, OS oder Risiko) und optional nur Hosts mit offenen Ports anzeigen.
- Klicken Sie auf Spaltenüberschriften, um Zeilen zu sortieren.
- Klicken Sie auf eine Gerätezeile, um eine benutzerfreundliche Zusammenfassung sowie rohe strukturierte Daten im unteren Panel anzuzeigen. Sie können auf Zeilen im Log klicken, um Geräte automatisch auszuwählen, wenn eine IP vorhanden ist.
Verhalten & Grenzen
- ARP-Scanning funktioniert nur im lokalen Ethernet/LAN-Segment.
- Vollständige Port-Scans und OS-Erkennung können Administratorrechte erfordern und mehrere Minuten pro Host dauern.
- Die Erweiterung von Bindestrich/Platzhalter enthält Begrenzungen, um versehentlich große Scans zu vermeiden (defensiv).
- Nmap muss separat installiert werden — python-nmap ist nur ein Wrapper.
Fehlerbehebung
- Falls der UAC-Dialog "Administratorzugriff bestätigen" erscheint, aber keine GUI geöffnet wird:
- Stellen Sie sicher, dass VS Code als Administrator gestartet wurde (bevorzugt) oder führen Sie das Skript in einer Administrator-PowerShell aus.
- Überprüfen Sie, ob
nmap --version aus derselben Umgebung funktioniert.
- Wenn Sie den Debugger verwenden, führen Sie die Debug-Sitzung aus einer erhöhten VS Code-Instanz aus.
- Falls scapy unter Windows fehlschlägt: Überprüfen Sie, ob Npcap installiert ist und Ihre virtuelle Umgebung denselben Python-Interpreter verwendet.
Sicherheit und rechtliche Hinweise
Scannen Sie nur Netzwerke und Geräte, die Sie besitzen oder für die Sie ausdrückliche Erlaubnis zum Testen haben. Nicht autorisiertes Scannen kann illegal und störend sein.
Fahrplan
Scanner-Verbesserungen
Benutzeroberfläche
Sicherheitsfunktionen