Netstat
# Netstat

In informatica netstat è un comando utilizzato nei sistemi operativi Unix-like e Windows serie NT, per visualizzare lo stato delle connessioni instaurate sul computer locale. Il file relativo a tale comando è un eseguibile essenziale di sistema e pertanto si trova nella cartella /bin (seguendo lo standard FHS) ed è di proprietà dell'utente root. Attivato come servizio di rete rimane in ascolto sulla porta 15/tcp (vedere /etc/services).

## Esempio di utilizzo

Se eseguito senza dare opzioni visualizza lo stato dei socket attivi, un esempio può essere:

## Analisi dell'output

Come si vede dal suindicato esempio, netstat classifica i tipi di socket:

* Active Internet connection, come tcp e udp
* Active UNIX domain sockets
* Active IPX sockets
* Active NET/ROM sockets
* Active AX.25 sockets

Campi importanti sono:

* Proto: indica il nome del protocollo
* Local Address: l'indirizzo IP del computer locale insieme al numero di porta usato
* Foreign Address: l'indirizzo IP e il numero di porta al quale il socket è connesso
* State: stato della connessione

È possibile inoltre vedere il tipo del socket:

* DGRAM se si tratta di udp
* STREAM se si tratta di tcp

## Opzioni del comando

Opzioni importanti sono:

* -a: che permette di vedere anche lo stato dei socket non attivi
* -t: che permette di vedere lo stato dei socket tcp
* -u: che permette di vedere lo stato dei socket udp
* -l: restituirà solo la lista dei servizi in ascolto (listening)
* -r: che permette di vedere la tabella di routing (restituisce lo stesso output del comando route)
* -n: mostra gli indirizzi numerici (invece di quelli simbolici) degli host e delle porte
* -p: che permette di vedere il nome del programma e il relativo PID che ha instaurato una connessione (deve essere dato dall'utente root)
* -o: permette di vedere i PID (identificatori processo)

Per ulteriori dettagli visualizzare da shell di Linux la man page di netstat tramite il comando man netstat.

