Magazine Informatica

Netstat & Linux: alcuni esempi pratici per controllare le connessioni

Creato il 24 maggio 2011 da Magnus

Netstat & Linux: alcuni esempi pratici per controllare le connessioniOggi voglio parlarvi di uno dei comandi più conosciuti, il comando netstat. Il suo scopo è quello di restituirci informazioni complete sulle connessioni del nostro sistema come le statistiche dell’interfacce, tabella di routing, maschera di connessione, elenco delle connessioni in ascolto o attive ecc ecc.

Come sempre, informazioni complete anche sulle opzioni di netstat potete averle digitando man netstat sempre da terminale. Lo scopo di questo mini how-to è quello di mostrarvi alcuni comandi più utilizzati di netstat.

Netstat -a

Digitate da terminale questo comando per avere una lista di tutte le porte upd e tcp attive sul sistema. Ecco un possibile output:

tanino@tanino-laptop:~$ netstat -a
Connessioni internet attive (server e stabiliti)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
tcp   0   0 localhost:ipp   *:*   LISTEN
tcp   0   0 localhost:50240   *:*   LISTEN
tcp   0   0 localhost:mysql   *:*   LISTEN
tcp   0   0 localhost:53684   localhost:50240   ESTABLISHED
tcp   0   0 localhost:40248   localhost:50240   TIME_WAIT
tcp   1   0 localhost:53680   localhost:50240   CLOSE_WAIT
tcp   0   0 localhost:50240   localhost:53698   ESTABLISHED

La lista è molto lunga e ve ne ho incollata solo una parte! Se non utilizzate l’opzione -a i socket usati dai processi server non saranno mostrati.

Netstat -at

Abbiamo aggiunto il flag t, l’unica differenza è che adesso avremo la lista delle sole porte TCP:

tanino@tanino-laptop:~$ netstat -at
Connessioni internet attive (server e stabiliti)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
tcp   0   0 localhost:ipp   *:*   LISTEN
tcp   0   0 localhost:50240   *:*   LISTEN
tcp   0   0 localhost:mysql   *:*   LISTEN

Netstat -au

Simile al precedente ma con la differenza che ora verranno dati in output solo le connessioni attive riguardanti i processi UDP:

tanino@tanino-laptop:~$ netstat -au
Connessioni internet attive (server e stabiliti)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
udp   0   0 *:bootpc   *:*
udp   0   0 *:57554   *:*
udp   0   0 *:mdns   *:*

Netstat -an

Aggiungengo invece questo flag avrete una piccola modifica nell’output. Vi verranno sempre mostrate tutte le connessioni ma questa volta non in formato hostname ma numerico.

Connessioni internet attive (server e stabiliti)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
tcp   0   0 127.0.0.1:631   0.0.0.0:*   LISTEN
tcp   0   0 127.0.0.1:50240   0.0.0.0:*   LISTEN
tcp   0   0 127.0.0.1:3306   0.0.0.0:*   LISTEN
tcp   0   0 192.168.1.3:51012   74.125.159.147:80   TIME_WAIT
tcp   0   0 127.0.0.1:53684   127.0.0.1:50240   ESTABLISHED

Netstat -l

Vi restituirà solo la lista delle connessioni in ascolto ( listening ):

tanino@tanino-laptop:~$ netstat -l
Connessioni internet attive (solo server)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
tcp   0   0 localhost:ipp   *:*   LISTEN
tcp   0   0 localhost:50240   *:*   LISTEN
tcp   0   0 localhost:mysql   *:*   LISTEN

Naturalmente anche qui potete aggiungere il flag t o u avendo quindi per -lt e -lu solo le connessioni in listening riguardanti rispettivamnte le porte tcp o udp.

Netstat -s

Avrete una completa descrizione delle statistiche, la lista è abbastanza lunga!

tanino@tanino-laptop:~$ netstat -s
Ip:
24557 pacchetti totali ricevuti
2 con indirizzi non validi
0 inoltrati
0 pacchetti entranti scartati
24465 pacchetti entranti consegnati
20775 richieste inviate
Icmp:
0 messaggi ICMP ricevuti
0 messaggi ICMP in input falliti.
Istogramma input ICMP:
8 messaggi ICMP inviati
0 messaggi ICMP falliti

Netstat -c

Qui invece avrete un effetto continuo, ogni secondo vi verranno aggiornate le informazioni sulle connessioni ed eventuali cambiamenti di stato quindi li potete monitorare facilmente da terminale:

tanino@tanino-laptop:~/Scrivania$ netstat -c
Connessioni internet attive (senza server)
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato
tcp   0   0 localhost:53684   localhost:50240   ESTABLISHED
tcp   1   0 localhost:53680   localhost:50240   CLOSE_WAIT
tcp   0   0 localhost:50240   localhost:53698   ESTABLISHED
tcp   1   0 localhost:48494   localhost:50240   CLOSE_WAIT
tcp   1   0 localhost:53700   localhost:50240   CLOSE_WAIT

Netstat -r

Ha lo stesso output del comando route -e, ci restituisce informazioni sulla tabella di routing del kernel:

tanino@tanino-laptop:~/Scrivania$ netstat -r
Tabella di routing IP del kernel
Destination   Gateway   Genmask   Flags   MSS Window  irtt Iface
192.168.1.0   *   255.255.255.0   U   0 0   0 wlan0
link-local   *   255.255.0.0   U   0 0   0 wlan0
default   mygateway1.ar7  0.0.0.0   UG   0 0   0 wlan0

Netstat -ap

Ad ogni processo verrà mostrato anche il suo PID ed il nome del processo a cui ogni socket appartiene:

tanino@tanino-laptop:~/Scrivania$ netstat -ap
Proto Recv-Q Send-Q Indirizzo locale   Indirizzo esterno   Stato   PID/Program name
tcp   0   0 localhost:ipp   *:*   LISTEN   -
tcp   0   0 localhost:50240   *:*   LISTEN   1969/beam.smp
tcp   0   0 localhost:mysql   *:*   LISTEN   -
tcp   0   0 localhost:53684   localhost:50240   ESTABLISHED 1790/python
tcp   1   0 localhost:53680   localhost:50240   CLOSE_WAIT  1790/python
tcp   0   0 localhost:50240   localhost:53698   ESTABLISHED

Netstat -i

Concludiamo con il flag interfaces che ci darà la lista delle interfacce di rete:

tanino@tanino-laptop:~/Scrivania$ netstat -i
Tabella dell’interfaccia del kernel
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0   1500 0   0   0   0 0   0   0   0   0 BMU
lo   16436 0   6255   0   0 0   6255   0   0   0 LRU
wlan0   1500 0   21165   0   0 0   16758   0   0   0 BMRU

Naturalmente questi sono solo alcuni dei flag e dei possibili usi di netstat :) Alla prossima!
 

Fonte:http://www.chimerarevo.com/2010/04/28/netstat-linux-alcuni-esempi-pratici-per-controllare-le-connessioni/


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :