Capita spesso di dover verificare se un determinato servizio è in esecuzione o capire su che porta un certo servizio è in ascolto, sopratutto per i servizi che non utilizzano porte standard o che abbiamo installato tanto tempo fa e non ci ricordiamo più su che porta è in ascolto ad esempio un’interfaccia di configurazione web.
Scoprire quali sono le porte su cui il nostro sistema è in ascolto è semplice, possiamo aprire il terminale e lanciare il comando:
sudo netstat -tulpn
Avremo un risultato simile a questo:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:17603 0.0.0.0:* LISTEN 3109/dropbox
tcp 0 0 0.0.0.0:33867 0.0.0.0:* LISTEN 4122/java
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 1196/systemd-resolv
tcp 0 0 127.0.0.1:63342 0.0.0.0:* LISTEN 4122/java
tcp 0 0 127.0.0.1:34930 0.0.0.0:* LISTEN 4122/java
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5666/cupsd
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 3109/dropbox
tcp 0 0 127.0.0.1:6942 0.0.0.0:* LISTEN 4122/java
tcp 0 0 127.0.0.1:17600 0.0.0.0:* LISTEN 3109/dropbox
tcp6 0 0 :::46699 :::* LISTEN 5351/java
tcp6 0 0 :::27851 :::* LISTEN 5351/java
tcp6 0 0 :::5355 :::* LISTEN 1196/systemd-resolv
tcp6 0 0 ::1:631 :::* LISTEN 5666/cupsd
tcp6 0 0 :::17500 :::* LISTEN 3109/dropbox
Da qui potremmo vedere nella colonna Local Address su quale porta è in ascolto il nostro server.
le opzioni ( -tulpn) che abbiamo utilizzato sono le seguenti:
-t include le socket di tipo tcp
-u include le socket di tipo udp
-l include le socket su cui il sistema è in ascolto (listening)
-p include nel risultato il pid/program name che ci permette di identificare quale processo sta ascoltando su quale porta
-n usa gli indirizzi ip numerici invece di risolvere i nomi host
Chiaro e semplice.
Grazie!