Skip to content

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local Traffic Monitor

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.

Funktionen

  • 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

Voraussetzungen

  • Python 3.10 oder neuer
  • psutil
  • geoip2
  • Tkinter fuer die grafische Oberflaeche

Abhaengigkeiten installieren

python -m pip install psutil geoip2

Unter Ubuntu/Debian kann Tkinter bei Bedarf separat installiert werden:

sudo apt install python3-tk

GeoIP-Datenbank

Lade 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.

Starten

Grafische Oberflaeche

python main.py --gui

Die GUI zeigt oben die Netzwerk-Kennzahlen und darunter die aktiven Verbindungen inklusive Geo-IP-Standort.

CLI-Modus

python main.py

Der CLI-Modus wird mit Strg+C beendet.

Konfiguration

Die Einstellungen befinden sich in config.py:

REFRESH_INTERVAL_SEC = 2

REFRESH_INTERVAL_SEC bestimmt, wie oft Messwerte und Verbindungen aktualisiert werden.

Projektstruktur

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

Tests und Syntaxpruefung

python -m py_compile config.py logic.py gui.py execute.py main.py

Git-Versionen

Der 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 --oneline

Eine 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

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages