
Con il bmon Applicazione Linux, puoi vedere l'utilizzo della larghezza di banda sulle tue connessioni di rete. Tuttavia, comprendere i dettagli più fini richiede un lavoro investigativo, quindi l'abbiamo fatto per te!
Come funziona Bmon
I grafici dinamici e le statistiche in tempo reale che mostrano l'attività sulle varie interfacce di rete possono darti un grande vantaggio sulle prestazioni della tua rete e sul consumo di larghezza di banda. Questo è esattamente cosa bmon fornisce per te, proprio in una finestra terminale.
Puoi dare un'occhiata ai grafici di tanto in tanto, proprio come faresti con il tachimetro nella tua auto. Allo stesso modo, se qualcosa sul tuo veicolo deve essere studiato, un meccanico potrebbe collegarlo a un sistema diagnostico e controllare le letture. bmon ha un simile di letture dettagliate.
Va detto, però …bmon le statistiche di comando possono essere inizialmente sconcertanti. Ad esempio, ci sono tre chiamati “Ip6 Reasm / Frag”. Cosa succede con quello?
Tuttavia, una volta decifrato il codice, le letture del comando sono preziose se si desidera una comprensione più dettagliata del traffico di rete.
Abbiamo lavorato per te e abbiamo persino controllato il codice sorgente per arrivare alla fine di alcuni di questi. Per fortuna, tutto il resto bmon è ragionevolmente semplice.
Installazione di bmon
Installare bmon su Ubuntu, usa questo comando:
sudo apt-get install bmon

Per installare su Fedora, digitare quanto segue:
sudo dnf install bmon
Per Manjaro, il comando è il seguente:
sudo pacman -Sy bmon

Il display bmon
genere bmon e premi Invio per avviare il programma. Il bmon il display è suddiviso in più riquadri. I primi tre sono etichettati “Interfacce”, “RX” e “TX”. Il riquadro centrale visualizza statistiche e grafici dettagliati.
Il riquadro “Interfacce” mostra le interfacce di rete di cui è dotato il tuo computer. Mostra anche la disciplina di accodamento (qdisc) utilizzata da ciascuna interfaccia di rete (ne parleremo più avanti).
Il riquadro “RX” visualizza i bit ricevuti al secondo e i pacchetti al secondo per ciascuna interfaccia e la sua coda. Il riquadro “TX” mostra i bit trasmessi al secondo e i pacchetti al secondo per ciascuna interfaccia e la sua coda.
Sul nostro computer, abbiamo solo due interfacce installate: l'interfaccia di loopback (chiamata anche adattatore di loopback) e l'adattatore Ethernet cablato. L'interfaccia di loopback si chiama “lo” e l'interfaccia ethernet si chiama “enp0s3”.
L'adattatore Ethernet sulla tua macchina potrebbe avere un nome diverso. Se stai usando un laptop, vedrai anche un adattatore wireless e il suo nome probabilmente inizierà con “wl”.

bmon visualizza informazioni sull'interfaccia di rete attualmente selezionata. L'interfaccia selezionata è quella con un segno di maggiore di evidenziato (>) Vicino a esso. È possibile premere le frecce Su e Giù per spostare il segno maggiore di e selezionare l'interfaccia che si desidera monitorare. Abbiamo scelto l'adattatore Ethernet.

Ora che siamo su un'interfaccia di rete attiva, vediamo alcune attività nei grafici e nelle letture. Se non vedi alcun grafico, allunga la finestra del terminale verso il basso.
Premere i tasti freccia sinistra e destra per modificare la statistica rappresentata graficamente. Per alcuni grafici, devi premere H prima che si popolino; quelli che richiedono questo te lo diranno.
Per visualizzare le statistiche per l'interfaccia di rete, allunga la finestra del terminale fino a quando non è abbastanza alta da mostrarle, quindi premi D per visualizzarle. Se premi I (per Info), vedrai una piccola quantità di informazioni aggiuntive.
Se si ingrandisce la finestra del terminale, vengono visualizzati più grafici. Premere Meno di (<) and Greater Than (>) per aggiungere o rimuovere coppie di grafici. Se premi G, attiva e disattiva la visualizzazione dei grafici, del tutto.
Quando si preme il punto interrogativo (?), Viene visualizzata la schermata della guida “Riferimento rapido” con le sequenze di tasti comuni.

Premere di nuovo il punto interrogativo (?) Per chiudere la schermata “Riferimento rapido”.
Le statistiche dettagliate
Se la finestra del tuo terminale è alta e abbastanza larga (allungala, se non lo è), puoi premere “D” per attivare e disattivare la visualizzazione dettagliata.

Il numero di colonne visualizzate dipende dalla larghezza della finestra del terminale. In una finestra terminale standard a 80 colonne, ne vedrai due. Più ampia è la finestra, più colonne vengono visualizzate. Tuttavia, non ottieni più statistiche con una finestra più ampia; vedrai comunque la stessa serie di figure. Ma le colonne saranno più brevi.
La voce in alto in ogni colonna potrebbe farti pensare che quello a sinistra mostri informazioni in byte, mentre quello a destra mostri informazioni in pacchetti. Tuttavia, non è così.
Ogni colonna contiene un insieme di statistiche. Il nome del valore e il ricevuto (RX) e trasmesso (TX) vengono visualizzati i valori per ciascuna statistica. Se qualche valore appare come un trattino (-), significa che la statistica non è registrata per quella direzione.
Alcune statistiche sono solo interne (ricevute) o esterne (trasmesse). Ad esempio, un trattino (-) nella colonna trasmessa indica che la statistica non è valida per i pacchetti in uscita e si applicherà solo ai pacchetti in entrata. La riga superiore mostra il traffico ricevuto e trasmesso in byte (a sinistra) e pacchetti (a destra).
Tutte le altre statistiche sono elencate in ordine alfabetico, saltando da una colonna all'altra. Molti di loro condividono lo stesso nome. Spiegheremo cosa significano tutti di seguito. Abbiamo anche scritto nomi abbreviati. Se non viene menzionato IPv6, tale statistica si riferisce a IPv4.
Le statistiche nella colonna di sinistra sono le seguenti:
- byte: Traffico in byte.
- Errore di interruzione: Un conteggio degli errori di interruzione. Da qualche parte nel percorso di connessione tra l'origine e la destinazione, un software ha interrotto la connessione.
- collisioni: Un conteggio degli errori di collisione. Due o più dispositivi hanno tentato di inviare un pacchetto contemporaneamente. Questo non dovrebbe essere un problema in una rete full duplex.
- Errori CRC: Un conteggio degli errori di controllo della ridondanza ciclica.
- Errori: Il conteggio totale degli errori.
- Errore frame: Un conteggio degli errori di frame. Un frame è un contenitore di rete per un pacchetto. Un errore indica che sono stati rilevati frame non validi.
- ICMPv6: Il numero di pacchetti di traffico Internet Control Message Protocol v6.
- Errori ICMPv6: Un conteggio degli errori ICMP v6.
- Trasmissione Ip6: Un conteggio delle trasmissioni IPv6, che vengono inviate a tutti i dispositivi sulla rete.
- Pacchetti CE IP6: CE sta per “vantaggio del cliente”. Questo di solito si applica ai router. Si connettono con il provider edge (PE) del servizio di connettività a cui il cliente si abbona.
- Ip6 offre: Il conteggio dei pacchetti IPv6 in entrata.
- Pacchetti Ip6 ECT (1): Una notifica esplicita di congestione (ECN) consente a entrambe le estremità di una connessione di rete di avvisare l'altra di una congestione imminente. I pacchetti sono contrassegnati da una bandiera che funge da avvertimento. L'estremità ricevente può ridurre le velocità di trasmissione per cercare di evitare la congestione e la possibile perdita di pacchetti. I pacchetti di trasporto in grado di ECN (ECT) sono contrassegnati da una bandiera per indicare che vengono consegnati tramite un trasporto in grado di ECN. Ciò consente ai router intermedi di reagire di conseguenza. I pacchetti ECN di tipo 1 indicano alla parte ricevente di abilitare ECN e aggiungerlo alle trasmissioni in uscita.
- Errori di intestazione IP6: Il conteggio dei pacchetti con errori nell'intestazione IPv6.
- Pacchetti multicast IP6: Il conteggio dei pacchetti IPv6 Multicast (una forma di trasmissione).
- Pacchetti Ip6 non ECT: Il conteggio dei pacchetti IPv6 non contrassegnato come ECT (1).
- Ip6 Rimontaggio / Frammento OK: Il conteggio dei pacchetti IPv6 che sono stati frammentati a causa delle dimensioni e riassemblati correttamente alla ricezione.
- Timeout di riassemblaggio Ip6: Il conteggio dei pacchetti IPv6 che sono stati frammentati a causa delle dimensioni, ma non possono essere riassemblati alla ricezione a causa dei timeout.
- Pacchetti troncati Ip6: Il conteggio dei pacchetti troncati. Quando viene trasmesso un pacchetto IPv6, può essere contrassegnato come candidato per il troncamento. Se nessun router intermedio non è in grado di gestire il pacchetto perché supera l'unità di trasmissione massima (MTU), il router tronca il pacchetto, lo contrassegna come tale e lo inoltra alla destinazione. Quando viene ricevuto, l'estremità remota può inviare un pacchetto ICMP alla fonte, dicendogli di aggiornare la sua stima MTU per abbreviare i suoi pacchetti.
- Scarti Ip6: Il conteggio dei pacchetti IPv6 scartati. Se i dispositivi tra la sorgente e la destinazione non sono stati configurati correttamente e le loro impostazioni IPv6 non funzionano, non gestiranno il traffico IPv6; verrà scartato.
- Pacchetti Ip6: Il conteggio totale di tutti i tipi di pacchetti IPv6.
- Errore mancante: Il conteggio dei pacchetti mancanti da una trasmissione. I pacchetti sono numerati in modo da poter ricreare il messaggio originale. Se ne mancano alcuni, la loro assenza è evidente.
- Nessun gestore: Il conteggio dei pacchetti per i quali non è stato trovato alcun gestore di protocollo.
- Errore finestra: Il conteggio degli errori di finestra. La finestra di un pacchetto è il numero di ottetti nell'intestazione. Se questo contiene un numero anomalo, l'intestazione non può essere interpretata.
Le statistiche nella colonna di destra sono le seguenti:
- pacchetti: Traffico in pacchetti.
- Errori del corriere: Un conteggio degli errori del corriere. Questi si verificano se si verifica un problema con la modulazione di un segnale. Ciò potrebbe indicare una mancata corrispondenza duplex tra l'apparecchiatura di rete o un danno fisico a un cavo, una presa o un connettore.
- compressa: Il numero di pacchetti compressi.
- Dropped: Caduto il numero di pacchetti che, di conseguenza, non sono riusciti a raggiungere la destinazione (probabilmente a causa della congestione).
- Errori FIFO: Il conteggio degli errori del buffer first in, first out (FIFO). Il buffer di trasmissione dell'interfaccia di rete è sovraccarico perché non viene svuotato abbastanza velocemente.
- Errori del battito cardiaco: Hardware o software potrebbero utilizzare un segnale regolare per mostrare che funzionano correttamente o per consentire la sincronizzazione. Il numero qui è quanti “battiti del cuore” sono stati persi.
- Errori di checksum ICMPv6: Il conteggio degli errori di checksum del messaggio Internet Control Message Protocol v6.
- Errori indirizzo IP6: Il conteggio degli errori dovuti a indirizzi IPv6 errati
- Pacchetti di trasmissione IP6: Il conteggio dei pacchetti di trasmissione IPv6.
- Errori di checksum IP6: Il conteggio degli errori di checksum IPv6. I pacchetti ICMP e User Datagram Protocol (UDP) in IPv6 usano i checksum, ma i pacchetti IP IPv6 regolari no.
- Pacchetti Ip6 ECT (0): Questi sono trattati come i pacchetti ECT (1).
- IP6 inoltrato: Il conteggio dei pacchetti IPv6 inoltro unicast consegnato. Unicast passa i pacchetti dall'origine alla destinazione attraverso una catena di router e spedizionieri intermedi.
- Multicast IP6: Il numero di pacchetti IPv6 inoltro multicast consegnato. Multicast invia i pacchetti a un gruppo di destinazioni contemporaneamente (che è come funziona il Wi-Fi).
- Ip6 No Route: Il conteggio degli errori di non instradamento. Ciò significa che la destinazione non è raggiungibile perché non è possibile calcolare un percorso verso l'estremità lontana
- Errori di riassemblaggio / frammento IP6: Il conteggio dei pacchetti IPv6 che sono stati frammentati a causa delle dimensioni e non possono essere riassemblati alla ricezione.
- Richieste di riassemblaggio / frammento Ip6: Il conteggio dei pacchetti IPv6 che erano frammentati a causa delle dimensioni e che dovevano essere riassemblati alla ricezione.
- Ip6 errori troppo grandi: Il numero di messaggi ICMP “troppo grandi” ricevuti, che indica che i pacchetti IPv6 sono stati inviati che erano più grandi dell'unità di trasmissione massima.
- Errori di protocollo sconosciuto IP6: Il conteggio dei pacchetti ricevuti utilizzando un protocollo sconosciuto.
- Ottetti Ip6: Il volume di ottetti ricevuti e trasmessi. IPv6 ha un'intestazione di 40 ottetti (320 bit, 8 bit per ottetto) e una dimensione minima del pacchetto di 1.280 ottetti (10.240 bit).
- Errore di lunghezza: Il numero di pacchetti che arrivano con un valore di lunghezza nell'intestazione che è più breve della lunghezza minima possibile dei pacchetti.
- Multicast: Un conteggio di trasmissioni multicast.
- Errori eccessivi: Un conteggio di errori eccessivi. Il buffer di ricezione è stato traboccato o sono arrivati pacchetti con un valore di frame superiore a quello supportato, quindi non possono essere accettati.
Le informazioni aggiuntive
Se si preme I (come in “Informazioni”), attiva e disattiva i riquadri delle informazioni aggiuntive. Se non vengono visualizzate informazioni aggiuntive, la finestra non è abbastanza grande. Puoi premere D per disattivare le statistiche dettagliate, G per disattivare i grafici oppure puoi allungare la finestra.

Le informazioni aggiuntive sono le seguenti:
- MTU: L'unità di trasmissione massima.
- Operstate: Lo stato operativo dell'interfaccia di rete.
- Indirizzo: L'indirizzo MAC (Media Access Control) dell'interfaccia di rete.
-
Modalità: Questo è di solito impostato su
default, ma potresti vederetunnel,beet, oro. I primi tre riguardano la sicurezza IP (IPSec). Ildefaultl'impostazione è di solitotransportmodalità, in cui il payload è crittografato. Le reti private virtuali (VPN) da client a sito generalmente usano questo. Le VPN da sito a sito in genere utilizzanotunnelmodalità, in cui l'intero pacchetto è crittografato. In un tunnel end-to-end associato (beet), viene creato un tunnel tra due dispositivi con indirizzi IP fissi, nascosti e altri indirizzi IP visibili. Ilromode è un metodo di ottimizzazione del routing per IPv6 mobile. - Famiglia: La famiglia di protocolli di rete in uso.
-
qdisc: Disciplina delle code. Questo può essere impostato su
red(Rilevazione precoce casuale),codel(Ritardo controllato) ofq_codel(Accodamento corretto con ritardo controllato). -
Flags: Questi indicatori mostrano le capacità di una connessione di rete. La nostra connessione può usare
broadcastemulticasttrasmissioni e l'interfaccia èUp(operativo e connesso). - ifIndex: L'indice di interfaccia è un numero identificativo univoco associato a un'interfaccia di rete.
- Trasmissione: L'indirizzo MAC di trasmissione. L'invio a questo indirizzo trasmette i pacchetti ricevuti a tutti i dispositivi.
- TXQlen: La dimensione della coda di trasmissione (capacità).
- Alias: Un alias IP fornisce a una connessione di rete fisica più indirizzi IP. Può quindi dare accesso a diverse sottoreti tramite una scheda di interfaccia di rete. Non ci sono alias in uso sul nostro computer di prova.
bmon è un po 'una creatura divertente – in qualche modo né pesce, né pollame. I grafici hanno un fascino primitivo e ti danno una buona indicazione di ciò che sta succedendo.
Tuttavia, dati i limiti del rendering in ASCII, non ci si può aspettare che siano estremamente precisi. Uno sguardo occasionale, tuttavia, può dirti se la connessione è al massimo, misteriosamente priva di traffico o da qualche parte nel mezzo.
Le statistiche dettagliate, d'altra parte, sono proprio queste: dettagliate e granulari. Insieme all'approccio in qualche modo casuale nella loro etichettatura, li rende ancora più difficili da decifrare.
Si spera che le descrizioni sopra verranno fatte bmon un po 'più accessibile. È davvero uno strumento utile e leggero con il quale è possibile monitorare lo stato del traffico di rete e il consumo di larghezza di banda.
