Monitorare il traffico sulle interfacce di rete: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (verificata)
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
{{Versioni compatibili|Wheezy|Jessie|Stretch|Testing_2016|Unstable_2016}}
{{Versioni compatibili|bullseye}}
==Introduzione==
==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.<br/>
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.<br/>
Un programma molto comodo in casi come questi è <code>vnstat</code>.
Un programma molto comodo in casi come questi è <code>vnstat</code>, che può essere utilizzato anche senza [[privilegi di amministrazione]].


==Installazione==
==Installazione==
La sua installazione è molto semplice, per esempio con [[privilegi di amministrazione]] basta:
La sua installazione è molto semplice, basta:
<pre>
<pre>
# apt-get install vnstat
# apt install vnstat
</pre>
</pre>
Una volta terminata l'installazione del pacchetto e delle sue eventuali dipendenze, il programma è già attivo e funzionante.
Una volta terminata l'installazione del pacchetto e delle sue eventuali dipendenze, il programma è già attivo e funzionante.


==Configurazione==
==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:
Di default tutte le interfacce di rete saranno monitorate.
 
Se si intende personalizzarne il comportamento, occorre modificare il file principale di configurazione.
 
Per esempio per inserire il nome della scheda ethernet che vnstat tratterà come scheda di default, con [[nano]]:
<pre>
<pre>
# nano /etc/vnstat.conf
# nano /etc/vnstat.conf
Riga 18: Riga 22:
e modifichiamo la voce:
e modifichiamo la voce:
<pre>
<pre>
# default interface
Interface ""
Interface "eth0"
</pre>
</pre>
sostituendo la nostra scheda ethernet. Se non sappiamo come è indicata la scheda ethernet del nostro sistema, possiamo recuperare l'informazione con:
sostituendo la nostra scheda ethernet tra "".
<pre>
 
# ifconfig
{{Suggerimento | Se non sappiamo come è indicata la scheda ethernet del nostro sistema, possiamo recuperare l'informazione con:
</pre>
Per poter utilizzare correttamente <code>vnstat</code> è necessario generare un database per ogni interfaccia che ci interessa monitorare. Ad esempio:
<pre>
<pre>
# vnstat -u -i eth0
$ ip link
# vnstat -u -i eth1
</pre>}}
</pre>
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==
==Utilizzo==
Il programma si lancia da terminale. Di seguito sono elencate alcune combinazioni di switch, per effettuare le operazioni più comuni.
Il programma si lancia da terminale, senza privilegi. Di seguito sono elencate alcune combinazioni di switch, per effettuare le operazioni più comuni.
* Per avere una visione d'insieme dello stato delle interfacce:
* Per avere una visione d'insieme dello stato delle interfacce:
<pre>
<pre>
# vnstat
$ vnstat
</pre>
</pre>
che darà come risposta qualcosa del genere:
che darà come risposta qualcosa del genere:
Riga 50: Riga 49:
* Per avere una visione grafica/testuale dei dati:
* Per avere una visione grafica/testuale dei dati:
<pre>
<pre>
# vnstat -h
$ vnstat -h
</pre>
</pre>
che genererà un output simile al seguente:
che genererà un output simile al seguente:
Riga 77: Riga 76:
* I dati possono poi essere visualizzati chiedendo al programma un riepilogo per giorno (<code>d</code>), settimana (<code>w</code>) mese (<code>m</code>) o anno (<code>y</code>). Ad esempio:
* I dati possono poi essere visualizzati chiedendo al programma un riepilogo per giorno (<code>d</code>), settimana (<code>w</code>) mese (<code>m</code>) o anno (<code>y</code>). Ad esempio:
<pre>
<pre>
# vnstat -d
$ vnstat -d
</pre>
</pre>
restituirà:
restituirà:
Riga 92: Riga 91:
* Per avere una misurazione in tempo reale del traffico si può utilizzare lo switch <code>-tr</code> (traffic):
* Per avere una misurazione in tempo reale del traffico si può utilizzare lo switch <code>-tr</code> (traffic):
<pre>
<pre>
# vnstat -tr
$ vnstat -tr
</pre>
</pre>
che restituirà:
che restituirà:
Riga 104: Riga 103:
* Lo switch <code>t</code> (top 10) mostra invece i 10 giorni che hanno registrato il maggior traffico:
* Lo switch <code>t</code> (top 10) mostra invece i 10 giorni che hanno registrato il maggior traffico:
<pre>
<pre>
# vnstat -t
$ vnstat -t
</pre>
</pre>
con risultato:
con risultato:
Riga 126: Riga 125:
* Per visualizzare il traffico in tempo reale si può usare lo switch <code>-l</code> (live):
* Per visualizzare il traffico in tempo reale si può usare lo switch <code>-l</code> (live):
<pre>
<pre>
# vnstat -l
$ vnstat -l
</pre>
</pre>
che mostrerà il traffico istantaneo dell'interfaccia:
che continuerà a mostrare il traffico istantaneo dell'interfaccia:
<pre>
<pre>
Monitoring eth0... (press CTRL-C to stop)
Monitoring eth0... (press CTRL-C to stop)
Riga 134: Riga 133:
rx: 10.69 kB/s 38 p/s tx: 9.18 kB/s 32 p/s^C
rx: 10.69 kB/s 38 p/s tx: 9.18 kB/s 32 p/s^C
</pre>
</pre>
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.
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. Basterà poi premere Ctrl-C per fermarlo, come riportato dal comando stesso, visualizzando anche delle statistiche relative al tempo in cui è rimasto attivo (se lasciato per un periodo sufficiente).


==Credits==
==Credits==
Riga 144: Riga 143:
|Estesa_da=
|Estesa_da=
|Verificata_da=
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 20:59, 10 apr 2016 (CEST)
:[[Utente:HAL 9000|HAL 9000]] ([[Discussioni utente:HAL 9000|discussioni]]) 14:57, 27 mar 2021 (UTC)
|Numero_revisori=1
|Numero_revisori=1
}}
}}

Versione attuale delle 14:57, 27 mar 2021

Debian-swirl.png Versioni Compatibili

Debian 11 "bullseye"

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, che può essere utilizzato anche senza privilegi di amministrazione.

Installazione

La sua installazione è molto semplice, basta:

# apt install vnstat

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

Configurazione

Di default tutte le interfacce di rete saranno monitorate.

Se si intende personalizzarne il comportamento, occorre modificare il file principale di configurazione.

Per esempio per inserire il nome della scheda ethernet che vnstat tratterà come scheda di default, con nano:

# nano /etc/vnstat.conf

e modifichiamo la voce:

Interface ""

sostituendo la nostra scheda ethernet tra "".

Bulb.png Suggerimento
Se non sappiamo come è indicata la scheda ethernet del nostro sistema, possiamo recuperare l'informazione con:
$ ip link


Utilizzo

Il programma si lancia da terminale, senza privilegi. 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 continuerà a mostrare 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. Basterà poi premere Ctrl-C per fermarlo, come riportato dal comando stesso, visualizzando anche delle statistiche relative al tempo in cui è rimasto attivo (se lasciato per un periodo sufficiente).

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 (discussioni) 14:57, 27 mar 2021 (UTC)

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