Ein lokaler Netzwerkmonitor fuer Linux und Windows. Das Programm zeigt aktuelle Upload- und Download-Raten, gesamte uebertragene Datenmengen sowie aktive Netzwerkverbindungen an.
Die Verbindungen koennen zusaetzlich ueber eine lokale MaxMind GeoLite2-Country-Datenbank einem Land zugeordnet werden.
- Live-Anzeige der Upload- und Download-Geschwindigkeit
- Anzeige der insgesamt gesendeten und empfangenen Daten
- Liste aktiver TCP/IP-Verbindungen
- Anzeige von Prozess, PID, Status, Zieladresse und Geo-IP-Land
- Automatische Aktualisierung im konfigurierten Intervall
- Grafische Oberflaeche mit Tkinter
- Alternativer CLI-Modus
- Lokale Versionsverwaltung mit Git
- Python 3.10 oder neuer
psutilgeoip2- Tkinter fuer die grafische Oberflaeche
python -m pip install psutil geoip2Unter Ubuntu/Debian kann Tkinter bei Bedarf separat installiert werden:
sudo apt install python3-tkLade die Datei GeoLite2-Country.mmdb von MaxMind herunter. Je nach Download liegt sie direkt im Projektordner oder in einem Unterordner, zum Beispiel:
local_traffic_monitor/
└── GeoLite2-Country_20260915/
└── GeoLite2-Country.mmdb
Beide Varianten werden automatisch erkannt. Ohne Datenbank funktioniert der Monitor weiterhin; fuer oeffentliche IP-Adressen wird dann GeoDB fehlt angezeigt. Private und lokale IP-Adressen werden als Lokal / Privat erkannt.
Die GeoLite2-Dateien werden aus Lizenz- und Groessengruenden nicht in Git gespeichert. Die Nutzung unterliegt den Bedingungen von MaxMind.
python main.py --guiDie GUI zeigt oben die Netzwerk-Kennzahlen und darunter die aktiven Verbindungen inklusive Geo-IP-Standort.
python main.pyDer CLI-Modus wird mit Strg+C beendet.
Die Einstellungen befinden sich in config.py:
REFRESH_INTERVAL_SEC = 2REFRESH_INTERVAL_SEC bestimmt, wie oft Messwerte und Verbindungen aktualisiert werden.
config.py Einstellungen und GeoIP-Pfad
execute.py CLI-Ausgabe
gui.py Grafische Tkinter-Oberflaeche
logic.py Netzwerk-, Bandbreiten- und GeoIP-Logik
main.py Programmeinstieg
README.md Projektdokumentation
.vscode/ VS-Code-Projekteinstellungen
python -m py_compile config.py logic.py gui.py execute.py main.pyDer vorherige stabile Ausgangspunkt ist als Git-Tag v1.0-gui-baseline gespeichert.
Der aktuelle finale Stand wird als v1.1-final versioniert.
Status pruefen:
git status
git log --onelineEine neue Version speichern:
git add .
git commit -m "Beschreibung der Aenderung"
git tag -a v1.1-final -m "Finaler Projektstand"Zu einem gespeicherten Stand zurueckkehren:
git reset --hard v1.1-final