Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
network-monitor — Ein Echtzeit-Tool zur Überwachung von Netzwerkverbindungen, entwickelt mit Rust und GTK4, das aktive Verbindungen mit Live-I/O-Statistiken in einer modernen grafischen Oberfläche anzeigt. | Kitploit
Tools/GitHubGitHub/grigio/network-monitor
Allgemeine DienstprogrammePaket-Sniffing & AnalyseNetzwerkkartierungInformationsbeschaffungPrivatsphäre
GitHubgrigio/network-monitor

network-monitor

Ein Echtzeit-Tool zur Überwachung von Netzwerkverbindungen, entwickelt mit Rust und GTK4, das aktive Verbindungen mit Live-I/O-Statistiken in einer modernen grafischen Oberfläche anzeigt.

Repository anzeigen
284544vor 1 TagVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
# Netzwerk-Monitor

![Netzwerk-Monitor-Demo auf dem GNOME-Desktop unter Linux](https://assets.kitploit.com/production/public/readmes/9883/ee8f839c4064b139e19ba818961f4ce859b5461a5eccf2d321c9a184533976b8.gif)

Ein Echtzeit-Überwachungstool für Netzwerkverbindungen, entwickelt mit Rust und GTK4, das aktive Verbindungen mit Live-I/O-Statistiken in einer modernen grafischen Oberfläche anzeigt.

[![rust](https://github.com/grigio/network-monitor/actions/workflows/rust.yml/badge.svg)](https://github.com/grigio/network-monitor/actions/workflows/rust.yml)
[![dependency status](https://deps.rs/repo/github/grigio/network-monitor/status.svg)](https://deps.rs/repo/github/grigio/network-monitor)


## Funktionen

- **Echtzeit-Überwachung**: Überwacht kontinuierlich aktive Netzwerkverbindungen
- **I/O-Statistiken**: Zeigt Live-Upload-/Download-Raten für jede Verbindung an
- **Prozessidentifikation**: Zeigt das Programm und die PID an, die jeder Verbindung zugeordnet sind
- **Prozessaktionen**: Rechtsklick auf eine Zeile, um ihren Wert/Befehl zu kopieren oder den Prozess zu beenden, der
  die Verbindung besitzt (Terminate oder Force Kill, mit Bestätigung)
- **Persistente Auswahl**: Die ausgewählte Zeile behält ihre Hervorhebung über Aktualisierungen hinweg und wird im
  Statusstreifen angezeigt
- **Moderne GTK4-Oberfläche**: Saubere, reaktionsschnelle grafische Oberfläche mit Libadwaita-Styling
- **Terminal-Oberfläche (TUI)**: Interaktive Terminal-Oberfläche mit denselben Überwachungsfunktionen
- **Adressauflösung**: Vereinfacht gängige Adressen (localhost, any, mDNS)
- **Verbindungsfilterung**: Filtert localhost-Verbindungen für eine übersichtlichere Ausgabe heraus
- **GNOME-Integration**: Ordnungsgemäße WM-Klassen-Unterstützung für Dock-Anheftung und Desktop-Integration
- **Duale Installation**: Unterstützt sowohl benutzerlokale als auch systemweite Installation
- **Robuste Fehlerbehandlung**: Umfassende Fehlerwiederherstellung mit klarer Einrichtungsanleitung
- **Leistungsoptimiert**: Prozess-Caching und Layout-Caching für verbesserte Reaktionsfähigkeit

## Anforderungen

- Rust 1.70+ (2021 Edition)
- GTK4-Entwicklungsbibliotheken
- Libadwaita-Entwicklungsbibliotheken
- Linux-System mit `/proc`-Dateisystem
- Linux 5.8+ (für eBPF-Granulare Fähigkeiten)
- Nightly Rust und `bpf-linker` (für eBPF-Kompilierung)

### Installation unter Ubuntu/Debian:
```bash
sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev
```

### Installation unter Fedora:
```bash
sudo dnf install gtk4-devel libadwaita-devel
```

## Installation

### Methode 1: Aus dem Quellcode mit Desktop-Integration installieren

1. Repository klonen:
```bash
git clone <repository-url>
cd network-monitor
```

2. Lokal installieren (kein sudo erforderlich):
```bash
./scripts/install.sh
```

3. Oder systemweit installieren (erfordert sudo):
```bash
sudo ./scripts/install.sh
```

Das Installationsskript wird:
- Beide Binärdateien (GTK4 und TUI) erstellen (Debug für lokal, Release für systemweit)
- Binärdateien nach `~/.local/bin/` (lokal) oder `/usr/local/bin/` (systemweit) installieren
- Desktop-Datei mit ordnungsgemäßer WM-Klasse für GNOME-Dock-Anheftung installieren
- Symbole in die entsprechenden Symbolverzeichnisse installieren
- Symbol-Cache und Desktop-Datenbank aktualisieren
- Sicherstellen, dass die Anwendung an das GNOME-Dock/Dashboard angeheftet werden kann

### Methode 2: Direkt erstellen und ausführen

1. Repository klonen:
```bash
git clone <repository-url>
cd network-monitor
```

2. Erstellen und ausführen:
```bash
cargo run
```

Oder im Release-Modus erstellen:
```bash
cargo build --release
./target/release/network-monitor
```

### Methode 3: TUI-Version erstellen und ausführen

1. Repository klonen:
```bash
git clone <repository-url>
cd network-monitor
```

2. TUI erstellen und ausführen:
```bash
cargo build --bin nmt
./target/debug/nmt
```

Oder im Release-Modus erstellen:
```bash
cargo build --release --bin nmt
./target/release/nmt
```

## Deinstallation

### Installierte Version entfernen

Lokale Installation entfernen:
```bash
./scripts/uninstall.sh
```

Systemweite Entfernung (erfordert sudo):
```bash
sudo ./scripts/uninstall.sh
```

Das Deinstallationsskript entfernt die Binärdatei, die Desktop-Datei und die Symbole aus den entsprechenden Verzeichnissen und aktualisiert alle relevanten Caches.

## Verwendung

### GTK4-Grafische Oberfläche

Starten Sie die Netzwerk-Monitor-Anwendung:
```bash
cargo run
```

Die Anwendung öffnet ein GTK4-Fenster, das Folgendes anzeigt:
- **Process(ID)**: Prozessname und PID mit präziser Socket-zu-Prozess-Zuordnung
- **Protocol**: TCP/UDP-Protokoll
- **Source**: Lokaler Endpunkt (in lesbares Format aufgelöst)
- **Destination**: Remote-Endpunkt (in lesbares Format aufgelöst)
- **Status**: Verbindungszustand (ESTABLISHED, LISTEN, usw.)
- **TX**: Upload-Rate, berechnet aus Prozess-I/O-Statistiken
- **RX**: Download-Rate, berechnet aus Prozess-I/O-Statistiken
- **Path**: Vollständiger Befehlspfad und Argumente aus `/proc/[pid]/cmdline`

**Zeilenaktionen**

- **Linksklick**: Eine Zeile auswählen (wird auch im unteren Streifen angezeigt)
- **Rechtsklick**: Das Kontextmenü mit *Copy Value*, *Copy Command* und
  *Kill "process" (PID)* öffnen, das fragt, ob Terminate (SIGTERM) oder Force Kill (SIGKILL) ausgeführt werden soll
- **Delete**: Die aktuell ausgewählte Zeile beenden (gleicher Bestätigungsdialog)
- **Ctrl+C**: Den Zelleninhalt kopieren
- **Refresh-Button** in der Kopfleiste: Sofort aktualisieren (die Liste wird auch alle 3 Sekunden aktualisiert)

### Terminal-Oberfläche (TUI)

![nmt tui of network-monitor](https://assets.kitploit.com/production/public/readmes/9883/47e8eb45b8c8f16826d39677c6c81c38a0fd1a48bf59d28a070994f93e437a2c.png)

Starten Sie die Terminal-Oberfläche:
```bash
cargo run --bin nmt
```

Die TUI bietet dieselben Überwachungsfunktionen in einer interaktiven Terminal-Oberfläche:

**Tastensteuerung:**
- `q` - Anwendung beenden
- `r` - Hostnamen-Auflösung umschalten
- `R` - Verbindungen manuell aktualisieren
- `a` - Automatische Aktualisierung umschalten (2-Sekunden-Intervalle)
- `↑/↓` - Durch Verbindungen navigieren
- `←/→` - Tabelle horizontal scrollen
- `k` / **Rechtsklick** - Kill-Menü für eine Zeile öffnen (Terminate / Force Kill / Cancel)
- `1-8` - Nach Spalten sortieren (Process(ID), Protocol, Source, Destination, Status, TX, RX, Path)

Maus: Linksklick wählt eine Zeile aus, Rechtsklick wählt sie aus und öffnet das Kill-Menü.

**Funktionen:**
- Echtzeit-Verbindungsüberwachung mit automatischer Aktualisierung
- Sortierbare Spalten mit visuellen Indikatoren
- Horizontales Scrollen für breite Tabellen
- Intelligente Spaltengrößenanpassung - die letzte Spalte erhält die volle verbleibende Breite
- Farbcodierte Protokolle (TCP/TCP6 in Grün, UDP/UDP6 in Gelb)
- Hervorhebung aktiver Verbindungen
- Prozess- und PID-Informationen
- Live-I/O-Ratenanzeige
- Gleiche Spaltenreihenfolge wie die GTK4-Version für Konsistenz

### Adressauflösung

Gängige Adressen werden zur besseren Lesbarkeit vereinfacht:
- `0.0.0.0:*` oder `*:*` → `ANY`
- `127.0.0.1:*` oder `[::1]:*` → `LOCALHOST`
- `224.0.0.251:*` → `MDNS`

## Funktionsweise

### eBPF-Backend (ereignisgesteuert)

Die App verwendet Kernel-Level-kprobes (`tcp_v4_connect`, `tcp_v6_connect`, `tcp_close`,
`inet_csk_accept`) anstelle von Polling auf `/proc/net`. Dies bietet:

- **Ereignisgesteuert**: Sub-Millisekunden-Ereignisbereitstellung, kein Polling-Overhead (~1-3% CPU)
- **Direkte PID**: Erfasst am Probe-Punkt über `bpf_get_current_pid_tgid()`, kein Inode-Scanning
- **Kurzlebige Verbindungen**: Werden zwischen Poll-Intervallen nie verpasst

### eBPF-Modus

Das eBPF-Backend bietet **ereignisgesteuerte** Verbindungsüberwachung mit geringerem Overhead und Echtzeit-
Ereignissen im Vergleich zum standardmäßigen `/proc/net`-Polling-Ansatz. Es kann kurzlebige Verbindungen erfassen,
die beim Polling möglicherweise verpasst werden.

**Voraussetzungen:**
```bash
rustup toolchain install nightly
cargo install bpf-linker
```

**Erstellen und ausführen:**
```bash
cargo build
```

**Als normaler Benutzer ausführen** (Kernel 5.8+ erforderlich):

Gewähren Sie der Binärdatei einmalig die erforderlichen Linux-Fähigkeiten:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/network-monitor
./target/debug/network-monitor
```

Oder für die TUI-Version:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/debug/nmt
./target/debug/nmt
```

Passen Sie für Release-Builds den Pfad entsprechend an:
```bash
sudo setcap cap_bpf,cap_net_admin,cap_perfmon+ep target/release/network-monitor
```

Die App wird mit einer Einrichtungsnachricht beendet, wenn eBPF nicht verfügbar ist (fehlende Fähigkeiten oder
nicht unterstützter Kernel).

## Architektur
- **GTK4**: Modernes plattformübergreifendes GUI-Framework
- **Libadwaita**: UI-Komponenten im GNOME-Stil
- **Tokio**: Asynchrone Laufzeit für gleichzeitige Operationen
- **Aya + eBPF**: Kernel-Level-Verbindungsverfolgung mit kprobes für Echtzeit-Ereignisse
- **Direkte PID**: Prozessidentifikation über `bpf_get_current_pid_tgid()` am Probe-Punkt
- **Systemaufrufe**: Direktes Lesen von `/proc/[pid]/io` für I/O-Statistiken
- **Fehlerbehandlung**: Umfassende Fehlertypen mit eleganter Wiederherstellung unter Verwendung von `thiserror`
- **Leistungs-Caching**: UI-Layout-Caching für optimale Leistung

## Linux-Pakete

[![Packaging status](https://repology.org/badge/vertical-allrepos/network-monitor.svg)](https://repology.org/project/network-monitor/versions)


## Spenden

Wenn Sie dieses Projekt hilfreich finden, ziehen Sie bitte eine Spende in Betracht, um seine Entwicklung zu unterstützen.

- **Monero**: `88LyqYXn4LdCVDtPWKuton9hJwbo8ZduNEGuARHGdeSJ79BBYWGpMQR8VGWxGDKtTLLM6E9MJm8RvW9VMUgCcSXu19L9FSv`
- **Bitcoin**: `bc1q6mh77hfv8x8pa0clzskw6ndysujmr78j6se025`

## Lizenz

Dieses Projekt ist Open Source. Siehe die LICENSE-Datei für Details.
Tool herunterladen