Monitorare il traffico sulle interfacce di rete

Da Guide@Debianizzati.Org.
Versione del 23 feb 2010 alle 13:59 di Ferdybassi (discussione | contributi) (Nuova pagina: ==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, distingue...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

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:

# apt-get install vnstat

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

Configurazione

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.

  • 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 http://www.sistemistiindipendenti.org

--Ferdybassi 14:59, 23 feb 2010 (CET)