Salta ai contenuti

bandwhich - Monitor di Larghezza di Banda per Processo Cheatsheet

bandwhich - Monitor di Larghezza di Banda per Processo Cheatsheet

bandwhich è un’utilità terminale Rust che visualizza l’utilizzo di rete corrente suddiviso per processo, connessione e IP/hostname remoto. A differenza di iftop (per-connessione) o nethogs (solo per-processo), bandwhich correla i socket al processo proprietario e risolve gli endpoint remoti, quindi vedi istantaneamente quale app — e quale host remoto — sta consumando larghezza di banda.

Installazione

PiattaformaComando
Cargo (tutte le piattaforme)cargo install bandwhich
Arch Linuxsudo pacman -S bandwhich
Debian/Ubuntusudo apt install bandwhich
Fedorasudo dnf install bandwhich
macOS (Homebrew)brew install bandwhich
Nixnix-env -iA nixpkgs.bandwhich
Binario precompilatoScarica dalla pagina GitHub Releases

Privilegi

bandwhich deve annusare i pacchetti, quindi ha bisogno di capacità elevate:

# Più semplice: esegui con sudo
sudo bandwhich

# Oppure concedi le capacità al binario una volta (no sudo dopo, Linux)
sudo setcap cap_net_raw,cap_net_admin=eip $(which bandwhich)

Utilizzo di Base

ComandoDescrizione
sudo bandwhichMonitora tutte le interfacce, TUI live
sudo bandwhich -i eth0Osserva una singola interfaccia
sudo bandwhich --interface wlan0Uguale, forma lunga
bandwhich --helpElenco completo delle opzioni
bandwhich --versionVersione

Opzioni Chiave

OpzioneDescrizione
-i, --interface NAMELimita il monitoraggio a una interfaccia
-n, --no-resolveSalta le ricerche DNS inverse (più veloce, IP grezzi)
-r, --rawOutput leggibile da macchina, non interattivo (buono per logging)
-p, --processesMostra solo la tabella dei processi
-c, --connectionsMostra solo la tabella delle connessioni
-a, --addressesMostra solo la tabella degli indirizzi remoti
--total-utilizationStampa un totale una tantum invece dell’UI live
-s, --show-dnsIncludi le query DNS nella visualizzazione della connessione
-d, --dns-server IPUsa un resolver specifico per le ricerche inverse

Tasti Interattivi

TastoAzione
TabCicla il layout / ruota quale tabella è espansa
SpacePausa / riprendi gli aggiornamenti
/ Scorri all’interno di una tabella
q / Ctrl+CEsci

Lettura della Visualizzazione

bandwhich mostra tre tabelle live:

TabellaTi dice
Utilizzo per processoQuali eseguibili stanno inviando/ricevendo, con velocità su/giù
ConnessioniOgni socket: locale → remoto, protocollo e velocità per connessione
Utilizzo per indirizzo remotoCon quali host remoti (risolti) stai scambiando più dati

Le velocità sono mostrate come throughput su (▲) e giù (▼) corrente, aggiornate circa una volta al secondo.

Flussi di Lavoro Comuni

# "Cosa sta mangiando il mio upload proprio ora?" — solo processi, nessun lag DNS
sudo bandwhich -p -n

# Indaga un'interfaccia rumorosa e registra un flusso grezzo per analisi successiva
sudo bandwhich -i eth0 --raw | tee bandwhich-eth0.log

# Snapshot una tantum dell'utilizzo totale (script/cron)
sudo bandwhich --total-utilization -n

# Trova i top talker remoti (es. un lavoro di exfiltration o backup)
sudo bandwhich -a

bandwhich vs Altri Monitor di Rete

StrumentoGranularitàNote
bandwhichProcesso + connessione + host remotoRust TUI, risolve remoti
nethogsPer processoNessun raggruppamento host-remoto
iftopPer connessioneNessuna attribuzione di processo
nloadTotali per interfacciaGrafico aggregato semplice
iptraf-ngPer interfaccia/connessioneSuite ncurses più vecchia

Risorse