Come visualizzare il traffico di rete nel terminale?


395

come visualizzare il traffico di rete effettivo (wireless) in un terminale?

Inoltre: è possibile aggiungere queste informazioni al grafico di top?


3
Qualche soluzione per "È possibile aggiungere queste informazioni al grafico di top?" parte? :)
Janaka Bandara il

1
@JanakaBandara dai un'occhiata a Glances .
ESala

Risposte:


432

Ecco alcuni strumenti utili nei repository Ubuntu per il monitoraggio del traffico di rete della riga di comando:

bmon : mostra più interfacce contemporaneamente

inserisci qui la descrizione dell'immagine

slurm - ha dei bei grafici colorati

inserisci qui la descrizione dell'immagine

tcptrack - Un preferito. Indica quanta larghezza di banda viene utilizzata e anche quale protocollo (servizio / porta) e destinazione è in corso la trasmissione. Molto utile quando vuoi sapere esattamente cosa sta usando la tua larghezza di banda

inserisci qui la descrizione dell'immagine


8
bmon è davvero fantastico! ha un grafico come il borbottio ma non colorato.
Ethereal,

26
sudo apt-get install bmon slurm tcptrack
Nabil Kadimi,

3
nloadmerita menzione per una migliore separazione di upload e download (anche non colorato)
Chris

1
tcptrack è fantastico!
Robert,

sudo apt install ethstatus
Isync,

146

È abbastanza facile! installa "iftop" con:

sudo apt-get install iftop

Quindi corri

sudo iftop

da qualsiasi terminale!

Godere!


8
Per vedere qualcosa, devo correre (Ubuntu usando il wifi): $ sudo iftop -i wlan0
russian_spy

non iftopanche registrare o accedere alla banda di rete di tanto in tanto? Attualmente sto usando entrambi vnstate iftopper usi diversi e vnstatregistra l'utilizzo della larghezza di banda. Sarebbe eccessivo e aggiungerebbe più carichi al mio server se lo iftopfa anche.
Oki Erie Rinaldi,

132

Qualcuno avrebbe anche dovuto menzionare nethogs.

La cosa diversa e forse più interessante di questo è che mostra il traffico per processo , come mostra l'immagine

inserisci qui la descrizione dell'immagine

Dai un'occhiata alla pagina


8
Per installare: sudo apt-get -y install nethogsallorasudo nethogs
bmaupin,

Utilità molto utile, basta notare che potrebbe essere necessario eseguire alcuni passaggi aggiuntivi per farlo funzionare su 14.04 come descritto da askubuntu.com/a/729560/79176 .
Enorme

Anche per quelli con Debian Jessie che vengono qui: una versione funzionante è in Backports: apt-get install nethogs/jessie-backports( devi prima aggiungere jessie-backport ).
Tino,

1
"mostra il traffico per processo" esattamente ciò di cui avevo bisogno, grazie!
Paul Feakins,

52

C'è un simpatico strumento chiamato tachimetro che mostra un grafico nel terminale usando i caratteri del blocco Unicode, i colori e persino aggiunge etichette ad ogni picco nel grafico.

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))

Schermata dopo aver eseguito il comando precedente

Ha diverse opzioni, può monitorare più interfacce, può mostrare più grafici in più righe o colonne e può persino monitorare la velocità di download di un singolo file (osservando le dimensioni del file sul disco).


2
Questo è di gran lunga il più bel grafico visivo che io abbia mai visto in un semplice display di testo. Esaminerò ora la libreria gui dallo stesso autore: urwid.org (codice sorgente e autore: github.com/wardi )
ThorSummoner,

1
@ThorSummoner: Questo sta diventando off-topic, ma urwid è la libreria usata dal fantastico debugger di PuDB Python.
Denilson Sá Maia,

Questo è solo in "attesa che <interfaccia> sia creata".
Felwithe

@felwithe Probabilmente significa che hai passato il nome dell'interfaccia di rete sbagliato. Prova a cambiare wlan0in quel comando eth0o qualunque sia il nome dell'interfaccia di rete nel tuo sistema. Vedi anche: unix.stackexchange.com/a/125406
Denilson Sá Maia

@ DenilsonSáMaia non l'ho fatto; L'ho controllato. Ho provato anche le altre interfacce. È stato tutto il tempo che ho dovuto giocherellare con esso. Avevo problemi di rete e dovevo trovare uno strumento che funzionasse al più presto. Ho usato uno di quelli semplici e si è scoperto che il problema non era comunque la larghezza di banda.
felwithe

46

iptraf

IPTraf è un'utilità di statistiche di rete basata su console per Linux. Raccoglie una varietà di figure come pacchetti di connessioni TCP e conteggi di byte, statistiche di interfaccia e indicatori di attività, suddivisioni del traffico TCP / UDP e pacchetti di stazioni LAN e conteggi di byte.

Caratteristiche

Un monitor del traffico IP che mostra informazioni sul traffico IP che passa sulla rete. Include informazioni sui flag TCP, numero di pacchetti e byte, dettagli ICMP, tipi di pacchetti OSPF. Statistiche generali e dettagliate sull'interfaccia che mostrano IP, TCP, UDP, ICMP, non IP e altri conteggi dei pacchetti IP, errori di checksum IP, attività dell'interfaccia, conteggi delle dimensioni dei pacchetti. Un monitor del servizio TCP e UDP che mostra il conteggio dei pacchetti in entrata e in uscita per le comuni porte dell'applicazione TCP e UDP Un modulo statistico LAN che rileva gli host attivi e mostra le statistiche che mostrano l'attività dei dati su di essi TCP, UDP e altri filtri di visualizzazione del protocollo, consentendo di visualizza solo il traffico a cui sei interessato. Registrazione Supporta i tipi di interfaccia Ethernet, FDDI, ISDN, SLIP, PPP e loopback. Utilizza l'interfaccia socket raw incorporata del kernel Linux, consentendone l'utilizzo su una vasta gamma di schede di rete supportate. Funzionamento a schermo intero, guidato da menu.

Protocolli riconosciuti

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

I pacchetti non IP verranno semplicemente indicati come "Non IP" e, sulle LAN Ethernet, verranno forniti con gli indirizzi Ethernet appropriati.

Interfacce supportate

Loopback locale Tutte le interfacce Ethernet supportate da Linux Tutte le interfacce FDDI supportate da Linux SLIP PPP asincrono PPP sincrono su ISDN ISDN con incapsulamento IP crudo ISDN con incapsulamento Cisco HDLC Parallel Line IP

Fonte http://iptraf.seul.org/about.html

Installazione

Con apt:

apt-get install iptraf

Oppure scarica la fonte:

http://iptraf.seul.org/download.html

Screenshots

Connessioni correnti:

connessioni tcp

Porte attuali:

inserisci qui la descrizione dell'immagine

Riepilogo di tutte le interfacce:

inserisci qui la descrizione dell'immagine

Dettagliato per interfaccia:

inserisci qui la descrizione dell'immagine

Fonte http://iptraf.seul.org/shots.html


In Ubuntu 18.04, sembra che iptraf-ngsia stato sostituito iptraf.
Wisbucky,

24
tcpdump -i eth0 

Ciò ti fornirà informazioni di streaming di tutti i dati che fluiscono da quell'interfaccia (la tua scheda Ethernet). Simile a WireShark.

Utilizzare ifconfigper visualizzare un elenco delle interfacce delle macchine.


1
Questo mostrerà sicuramente le informazioni di rete ... Non è un'interfaccia molto user-friendly, né ha statistiche aggregate. Sicuramente pensare a questo come un wirehark.
user2943160

22

Penso che ifconfig [interface]lo farà. Piace:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Link encap: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          BROADCAST MULTICAST MTU: 1500 Metrico: 1
          Pacchetti RX: 0 errori: 0 rilasciati: 0 sovraccarichi: 0 frame: 0
          Pacchetti TX: 0 errori: 0 rilasciati: 0 sovraccarichi: 0 portante: 0
          collisioni: 0 txqueuelen: 1000 
          Byte RX: 0 (0,0 B) Byte TX: 0 (0,0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0 Link encap: Ethernet HWaddr 00: 16: 36: bf: 92: e3  
          inet addr: 192.168.10.100 Bcast: 192.168.10.255 Maschera: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 Ambito: collegamento
          UP BROADCAST RUNNING MULTICAST MTU: 1500 Sistema metrico: 1
          Pacchetti RX: 342765 errori: 0 rilasciati: 0 sovraccarichi: 0 frame: 0
          Pacchetti TX: 306183 errori: 0 rilasciati: 0 sovraccarichi: 0 portante: 0
          collisioni: 0 txqueuelen: 1000 
          Byte RX: 373934806 (373,9 MB) Byte TX: 39111569 (39,1 MB)
          Interrupt: 16 

Mostra byte RX: 73934806 (373,9 MB) e byte TX: 39111569 (39,1 MB) .


2
ma questa è solo la statistica generale per questa sessione. Vorrei vedere se la connessione è attiva o meno.
IndexOutOfBoundsException,

6
netstat -t -u -c?
hingev,



13

Se stai cercando qualcosa di estremamente semplice, ma comunque utile, prova ifstat

$ sudo apt-get install ifstat
$ ifstat
       eth0               wlan0       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.96      4.79
    0.00      0.00      0.04      0.14

Monitora tutte le interfacce contemporaneamente, stampando una nuova riga ogni secondo. Utile da convogliare in un altro script o per lasciarlo in esecuzione e osservare l'utilizzo della larghezza di banda nel tempo. Non carino come altri strumenti, ma fa il lavoro.

Ci sono alcune opzioni utili elencate nella manpage :

-z  Hides interface which counters are null, eg interfaces that are up but not used.
-n  Turns off displaying the header periodically.
-t  Adds a timestamp at the beginning of each line.
-T  Reports total bandwith for all monitored interfaces.
-S  Keep stats updated on the same line if possible (no scrolling nor wrapping).
-b  Reports bandwith in kbits/sec instead of kbytes/sec.

1
Adoro questo comando ifstat -zntS:, che genera solo un'interfaccia di rete che non è nulla, con timestamp, senza intestazione mostrata periodicamente e con risultati in una sola riga (Adoro le pagine man).
Igor V.


8

Ifstat è un buon strumento e ti darà tutto l'utilizzo della rete dell'interfaccia rispetto al tempo.

sudo apt-get install ifstat

inserisci qui la descrizione dell'immagine


7

Questo non è specifico per la rete, ma Glances può visualizzare il traffico di rete di diverse interfacce.

inserisci qui la descrizione dell'immagine

Installalo con uno di quei comandi:

sudo snap install glances
sudo apt install glances

6

Secondo ifconfig man :

Questo programma è obsoleto! Per la sostituzione, controllare ip addr e ip link. Per le statistiche utilizzare il collegamento ip -s.

Quindi usando il comando ip :

 $ ip -s link

Siamo in grado di ottenere statistiche di rete:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    173654497900 26078946 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    173654497900 26078946 0       0       0       0
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    3650412438854 399476618 0       2551849 0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617437624480 321390259 0       0       0       0

O

$ ip -s -h link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    174G       26.1M    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    174G       26.1M    0       0       0       0 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    3.65T      399M     0       2.55M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617G       321M     0       0       0       0


2

Recentemente ho scoperto wavemonquale può essere facilmente installato utilizzando apt-get install wavemon.

Questo strumento fornisce informazioni soprattutto sul livello del segnale della rete wireless.


2

E questo è un blog che mostra un elenco di comandi per monitorare la larghezza di banda:

http://www.binarytides.com/linux-commands-monitor-network/

AGGIORNARE:

Uso NetHogs da circa due mesi. Mostra l'utilizzo totale della larghezza di banda. Con la seguente impostazione è inoltre possibile ottenere l'utilizzo della larghezza di banda per ciascun programma

sudo nethogs -v 3


1

C'è anche conky .

È possibile che il pacchetto sia elencato nei repository attualmente utilizzati del sistema. Prova a correre:

sudo apt-get install conky-all

Alcune informazioni di base sulla configurazione: Ubuntu Community Docs: Configurazione di Conky . ATTENZIONE: le informazioni su quel sito potrebbero non essere aggiornate, quindi si prega di verificare i passaggi elencati si applicano al proprio sistema.

Naturalmente, un conky di base è molto noioso da guardare, quindi ecco un buon tema di conky per iniziare:

Harmattan

Segui le istruzioni su quella pagina per l'installazione; per installare un tema particolare, copia il .conkyrcfile dalla cartella corrispondente per il tema nella .harmattan-themescartella nella tua home directory.

Quindi, modifica il file secondo le istruzioni sulla pagina collegata.

MANCIA

Modifica il file dopo averlo copiato nella tua cartella home, in questo modo puoi conservare i file originali non modificati nel caso in cui sia necessario ricopiare il .conkyrcfile per un tema.


1

nettop è un'altra opzione (non nei repository linux standard).

Per compilare clonare il repository:

git clone https://github.com/Emanem/nettop.git

Installa le dipendenze:

sudo apt-get install libncurses5-dev libncursesw5-dev build-essential libpcap-dev

E costruisci il binario:

make

Corri con:

sudo ./nettop

A proposito, macos ha un'utilità integrata chiamata nettopche fa la stessa cosa ma ha più funzionalità.


0

Per me, Slurm ha funzionato bene:

Installare:

sudo apt install slurm

Elenca le interfacce

ifconfig

Interfaccia monitor (cambia eth0):

slurm -i eth0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.