Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
network-monitor — Uno strumento di monitoraggio delle connessioni di rete in tempo reale costruito con Rust e GTK4, che mostra le connessioni attive con statistiche I/O in tempo reale in un'interfaccia grafica moderna. | Kitploit
Strumenti/GitHubGitHub/grigio/network-monitor
Utilità GenericheSniffing e Analisi dei PacchettiMappatura della ReteRaccolta InformazioniPrivacy
GitHubgrigio/network-monitor

network-monitor

Uno strumento di monitoraggio delle connessioni di rete in tempo reale costruito con Rust e GTK4, che mostra le connessioni attive con statistiche I/O in tempo reale in un'interfaccia grafica moderna.

Vedi Repository
28452414h 53m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Network Monitor

Demo di Network Monitor su GNOME Desktop su Linux

Uno strumento di monitoraggio delle connessioni di rete in tempo reale realizzato con Rust e GTK4, che visualizza le connessioni attive con statistiche I/O in tempo reale in un'interfaccia grafica moderna.

rust dependency status

Funzionalità

  • Monitoraggio in tempo reale: monitora continuamente le connessioni di rete attive
  • Statistiche I/O: mostra le velocità di upload/download in tempo reale per ogni connessione
  • Identificazione dei processi: visualizza il programma e il PID associati a ciascuna connessione
  • Azioni sui processi: fai clic con il tasto destro su una riga per copiarne il valore/comando o per terminare il processo che possiede la connessione (Terminate o Force Kill, con conferma)
  • Selezione persistente: la riga selezionata mantiene la sua evidenziazione tra i vari aggiornamenti ed è mostrata nella barra di stato
  • Interfaccia GTK4 moderna: interfaccia grafica pulita e reattiva con stile Libadwaita
  • Interfaccia terminale (TUI): interfaccia terminale interattiva con le stesse capacità di monitoraggio
  • Risoluzione degli indirizzi: semplifica gli indirizzi comuni (localhost, any, mDNS)
  • Filtro delle connessioni: filtra le connessioni localhost per un output più pulito
  • Integrazione con GNOME: supporto corretto della WM class per il pinning nel dock e l'integrazione con il desktop
  • Doppia installazione: supporta sia l'installazione locale all'utente che a livello di sistema
  • Gestione robusta degli errori: recupero completo dagli errori con chiare indicazioni di configurazione
  • Prestazioni ottimizzate: caching dei processi e del layout per una reattività migliorata

Requisiti

  • Rust 1.70+ (edizione 2021)
  • Librerie di sviluppo GTK4
  • Librerie di sviluppo Libadwaita
  • Sistema Linux con filesystem /proc
  • Linux 5.8+ (per le capacità granulari eBPF)
  • Rust nightly e bpf-linker (per la compilazione eBPF)

Installazione su Ubuntu/Debian:

sudo apt update
sudo apt install libgtk-4-dev libadwaita-1-dev

Installazione su Fedora:

sudo dnf install gtk4-devel libadwaita-devel

Installazione

Metodo 1: Installazione dal sorgente con integrazione desktop

  1. Clona il repository:
git clone <repository-url>
cd network-monitor
  1. Installa localmente (sudo non richiesto):
./scripts/install.sh
  1. Oppure installa a livello di sistema (richiede sudo):
sudo ./scripts/install.sh

Lo script di installazione:

  • Compila sia i binari GTK4 che TUI (debug per locale, release per sistema)
  • Installa i binari in ~/.local/bin/ (locale) o /usr/local/bin/ (sistema)
  • Installa il file desktop con la WM class corretta per il pinning nel dock di GNOME
  • Installa le icone nelle directory appropriate
  • Aggiorna la cache delle icone e il database desktop
  • Assicura che l'applicazione possa essere aggiunta al dock/dashboard di GNOME

Metodo 2: Compilazione ed esecuzione diretta

  1. Clona il repository:
git clone <repository-url>
cd network-monitor
  1. Compila ed esegui:
cargo run

Oppure compila in modalità release:

cargo build --release
./target/release/network-monitor

Metodo 3: Compilazione ed esecuzione della versione TUI

  1. Clona il repository:
git clone <repository-url>
cd network-monitor
  1. Compila ed esegui la TUI:
cargo build --bin nmt
./target/debug/nmt

Oppure compila in modalità release:

cargo build --release --bin nmt
./target/release/nmt

Disinstallazione

Rimuovere la versione installata

Rimozione dell'installazione locale:

./scripts/uninstall.sh

Rimozione a livello di sistema (richiede sudo):

sudo ./scripts/uninstall.sh

Lo script di disinstallazione rimuove il binario, il file desktop e le icone dalle posizioni appropriate e aggiorna tutte le cache rilevanti.

Utilizzo

Interfaccia grafica GTK4

Avvia l'applicazione di monitoraggio della rete:

cargo run

L'applicazione aprirà una finestra GTK4 che mostra:

  • Process(ID): nome del processo e PID con una mappatura accurata socket-processo
  • Protocol: protocollo TCP/UDP
  • Source: endpoint locale (risolto in un formato leggibile)
  • Destination: endpoint remoto (risolto in un formato leggibile)
  • Status: stato della connessione (ESTABLISHED, LISTEN, ecc.)
  • TX: velocità di upload calcolata dalle statistiche I/O del processo
  • RX: velocità di download calcolata dalle statistiche I/O del processo
  • Path: percorso completo del comando e argomenti da /proc/[pid]/cmdline

Azioni sulle righe

  • Clic sinistro: seleziona una riga (mostrata anche nella barra inferiore)
  • Clic destro: apre il menu contestuale con Copy Value, Copy Command e Kill "process" (PID), che chiede se Terminate (SIGTERM) o Force Kill (SIGKILL)
  • Delete: termina la riga attualmente selezionata (stessa finestra di conferma)
  • Ctrl+C: copia il contenuto della cella
  • Pulsante Refresh nella barra dell'intestazione: aggiorna immediatamente (la lista si aggiorna anche ogni 3s)

Interfaccia terminale (TUI)

nmt tui di network-monitor

Avvia l'interfaccia terminale:

cargo run --bin nmt

La TUI fornisce le stesse capacità di monitoraggio in un'interfaccia terminale interattiva:

Controlli da tastiera:

  • q - Esce dall'applicazione
  • r - Attiva/disattiva la risoluzione dei nomi host
  • R - Aggiorna manualmente le connessioni
  • a - Attiva/disattiva l'aggiornamento automatico (intervalli di 2 secondi)
  • ↑/↓ - Naviga tra le connessioni
  • ←/→ - Scorri la tabella orizzontalmente
  • k / clic destro - Apre il menu di terminazione per una riga (Terminate / Force Kill / Cancel)
  • 1-8 - Ordina per colonne (Process(ID), Protocol, Source, Destination, Status, TX, RX, Path)

Mouse: il clic sinistro seleziona una riga, il clic destro la seleziona e apre il menu di terminazione.

Funzionalità:

  • Monitoraggio delle connessioni in tempo reale con aggiornamento automatico
  • Colonne ordinabili con indicatori visivi
  • Scorrimento orizzontale per tabelle larghe
  • Dimensionamento intelligente delle colonne - l'ultima colonna occupa tutta la larghezza rimanente
  • Protocolli con codice colore (TCP/TCP6 in verde, UDP/UDP6 in giallo)
  • Evidenziazione delle connessioni attive
  • Informazioni su processo e PID
  • Visualizzazione della velocità I/O in tempo reale
  • Stesso ordine delle colonne della versione GTK4 per coerenza

Risoluzione degli indirizzi

Gli indirizzi comuni sono semplificati per la leggibilità:

  • 0.0.0.0:* o *:* → ANY
  • 127.0.0.1:* o [::1]:* → LOCALHOST
  • 224.0.0.251:* → MDNS

Come funziona

Backend eBPF (event-driven)

L'app utilizza kprobe a livello kernel (tcp_v4_connect, tcp_v6_connect, tcp_close, inet_csk_accept) invece del polling di /proc/net. Questo fornisce:

  • Event-driven: consegna degli eventi in meno di un millisecondo, nessun overhead di polling (~1-3% CPU)
  • PID diretto: catturato al punto di probe tramite bpf_get_current_pid_tgid(), nessuna scansione degli inode
  • Connessioni di breve durata: mai perse tra gli intervalli di polling

Modalità eBPF

Scarica lo strumento