Netstat: alcuni esempi pratici per controllare le connessioni
Oggi 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!
L’articolo Netstat: alcuni esempi pratici per controllare le connessioni appare per la prima volta su Chimera Revo – News, guide e recensioni sul Mondo della tecnologia.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.