Monitorare il traffico sulle interfacce di rete

Da Guide@Debianizzati.Org.
Jump to navigation Jump to search
Debian-swirl.png Versioni Compatibili
Debian 8 "Jessie"
Debian 9 "Stretch"
Debian 10 "Buster"

Introduzione

Su un server, su un PC che funga da router o su un firewall Debian può essere comodo avere un sistema per tenere una traccia nel tempo del traffico di rete, distinguendo i flussi delle varie interfacce.
Un programma molto comodo in casi come questi è vnstat.

Installazione

La sua installazione è molto semplice, per esempio con privilegi di amministrazione basta:

# apt install vnstat

Una volta terminata l'installazione del pacchetto e delle sue eventuali dipendenze, il programma è già attivo e funzionante.

Configurazione

Per prima cosa occorre modificare il file principale di configurazione e inserire il nome della scheda ethernet che vnstat tratterà come scheda di default:

# nano /etc/vnstat.conf

e modifichiamo la voce:

# default interface
Interface "eth0"

sostituendo la nostra scheda ethernet. Se non sappiamo come è indicata la scheda ethernet del nostro sistema, possiamo recuperare l'informazione con:

# ifconfig

Per poter utilizzare correttamente vnstat è necessario generare un database per ogni interfaccia che ci interessa monitorare. Ad esempio:

# vnstat -u -i eth0
# vnstat -u -i eth1

Dopo l'esecuzione del comando (da ripetersi per ogni interfaccia da monitorare) riceverete un errore che vi avvisa che il database non esiste e che un nuovo database sarà generato. Ignorate l'errore, dato che la generazione del database è proprio il nostro scopo, e proseguite.

Utilizzo

Il programma si lancia da terminale. Di seguito sono elencate alcune combinazioni di switch, per effettuare le operazioni più comuni.

  • Per avere una visione d'insieme dello stato delle interfacce:
# vnstat

che darà come risposta qualcosa del genere:

rx / tx / total / estimated
eth1:
yesterday 174 kB / 0 kB / 174 kB
today 53 kB / 0 kB / 53 kB / --
eth0:
yesterday 19.94 GB / 4.33 GB / 24.27 GB
today 3.86 GB / 0.98 GB / 4.84 GB / 10.16 GB
  • Per avere una visione grafica/testuale dei dati:
# vnstat -h

che genererà un output simile al seguente:

eth0 11:30
^ r
| r r
| r r r
| r t r r r r
| rt t r r r r r r
| rt t r r r r r r r
| rt rt r r r r r r r r r r
| rt rt r r r r r r r r r r r r
| rt rt r r r r r r r r r r r r r r t r
| rt rt rt r rt rt r rt r r r r r r rt r r r r rt rt rt rt r
-+--------------------------------------------------------------------------->
| 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11

h rx (kB) tx (kB) h rx (kB) tx (kB) h rx (kB) tx (kB)
12 982886 695641 20 656238 57998 04 220823 12027
13 427656 757889 21 343002 62942 05 160220 11873
14 322904 165802 22 466482 52979 06 186506 21116
15 172664 85374 23 1039368 36649 07 188855 109409
16 654155 104752 00 907319 28156 08
  • I dati possono poi essere visualizzati chiedendo al programma un riepilogo per giorno (d), settimana (w) mese (m) o anno (y). Ad esempio:
# vnstat -d

restituirà:

eth0 / daily

day rx | tx | total
------------------------+-------------+----------------------------------------
14.01. 810.88 MB | 2.86 GB | 3.65 GB %::
15.01. 1.70 GB | 4.10 GB | 5.80 GB %::::
16.01. 33.29 MB | 245.22 MB | 278.52 MB
17.01. 18.66 MB | 125.58 MB | 144.24 MB
  • Per avere una misurazione in tempo reale del traffico si può utilizzare lo switch -tr (traffic):
# vnstat -tr

che restituirà:

625 packets sampled in 5 seconds
Traffic average for eth0

rx 17.65 kB/s 63 packets/s
tx 20.51 kB/s 61 packets/s
  • Lo switch t (top 10) mostra invece i 10 giorni che hanno registrato il maggior traffico:
# vnstat -t

con risultato:

eth0 / top 10

# day rx | tx | total
-------------------------------+-------------+---------------------------------
1 10.02.10 19.99 GB | 5.60 GB | 25.59 GB %%%%%%%%%%%%%%::::
2 11.02.10 19.94 GB | 4.33 GB | 24.27 GB %%%%%%%%%%%%%%:::
3 04.01.10 15.97 GB | 4.21 GB | 20.18 GB %%%%%%%%%%%:::
4 12.01.10 3.01 GB | 7.07 GB | 10.08 GB %%:::::
5 05.01.10 5.22 GB | 2.58 GB | 7.80 GB %%%::
6 13.01.10 2.00 GB | 4.51 GB | 6.51 GB %:::
7 09.02.10 2.63 GB | 3.19 GB | 5.82 GB %%::
8 15.01.10 1.70 GB | 4.10 GB | 5.80 GB %:::
9 11.01.10 1.52 GB | 3.84 GB | 5.36 GB %::
10 08.01.10 1.59 GB | 3.72 GB | 5.31 GB %::
-------------------------------+-------------+---------------------------------
  • Per visualizzare il traffico in tempo reale si può usare lo switch -l (live):
# vnstat -l

che mostrerà il traffico istantaneo dell'interfaccia:

Monitoring eth0... (press CTRL-C to stop)

rx: 10.69 kB/s 38 p/s tx: 9.18 kB/s 32 p/s^C

Questo ultimo comando risulta molto utile su sistemi come firewall o router dove sono installate più interfacce di rete, per poter effettuare un'analisi della banda e del traffico sulle singole interfacce.

Credits

Guida basata sull'originale presente su: SistemistiIndipendenti




Guida scritta da: Ferdybassi 14:59, 23 feb 2010 (CET)

Swirl-auth40.png Debianized 40%

Estesa da:
Verificata da:
HAL 9000 09:45, 28 lug 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized