Durante la risoluzione dei problemi dei servizi in esecuzione su un sistema Linux, controllare le porte aperte è uno dei compiti che ogni utente o amministratore dovrebbe considerare di eseguire. Se ci si aspetta che un servizio sia in esecuzione, ma per qualche motivo non lo è, allora molto probabilmente la porta associata a quel servizio è chiusa e dovrebbe essere aperta.
In questo tutorial, dimostreremo come controllare le porte aperte in un sistema Linux dalla linea di comando.
1) Controllare le porte aperte usando il comando ss
Il comando ss di Linux fornisce informazioni dettagliate sulle porte aperte e sui socket in ascolto. Trae informazioni dal kernel di Linux ed è preferibile al comando netstat che è stato deprecato.
Per visualizzare le connessioni TCP in ascolto, eseguire il comando
$ ss -tl
Esempio di output
l – Mostra i socket in ascolto
t – Sta per porta TCP
Per visualizzare le connessioni UDP in ascolto, dare il comando
$ ss -lu
Esempio di output
u – Sta per porta UDP
o
Per visualizzare sia tcp che udp, nome del processo
$ ss -lntup
p – Elenca il nome del processo che ha aperto i socket
Per stampare tutte le connessioni socket, usate semplicemente il comando ss nel suo formato predefinito
$ ss
Esempio di output
2) Controllare le porte aperte usando il comando netstat
Il comando netstat è un potente strumento di comando che viene utilizzato per controllare le porte TCP e UDP aperte insieme ad altri attributi. Per controllare le porte aperte, emetti il comando:
$ netstat -pnltu
Esempio di output
Diamo uno sguardo più da vicino alle opzioni del comando:
p – Visualizza l’ID del proceso associato ad un servizio o al nome del programma
n – Visualizza il numero numerico della porta in esecuzione, ad es.g 3306 per mysqld, e 22 per sshd.
l – Mostra i socket in ascolto
t – Mostra le connessioni TCP
u – Mostra le connessioni UDP
3) Controlla le porte aperte usando il comando lsof
Il comando lsof è uno strumento di comando di rete che può essere usato anche per controllare le porte aperte in un sistema Linux. Per visualizzare le porte aperte, eseguire il comando
$ lsof -i
Esempio di output
Se si desidera visualizzare le porte aperte, utilizzare il comando lsof
e inviare l’output a grep come mostrato:
$ lsof -n -P | grep LISTEN
Esempio di output
Per visualizzare tutte le connessioni TCP eseguire :
$ lsof -i tcp
Sample output
Per visualizzare tutte le connessioni UDP eseguire il comando:
$ lsof -i udp
Sample output
4) Controllare le porte aperte usando l’utility Nmap
Nmap è uno strumento di scansione di rete gratuito e opensource solitamente usato per la ricognizione nell’hacking etico per scoprire le porte aperte dei sistemi remoti. Per impostazione predefinita, Nmap non è installato sul vostro sistema. Per installare Nmap, esegui il comando
Per effettuare la scansione delle porte TCP aperte, esegui il comando
$ nmap -sT -O localhost
Sample output
Per effettuare la scansione delle porte UDP aperte, esegui il comando:
$ nmap -sU localhost
Sample output
Concludendo
Questi sono i comandi linux e gli strumenti usati per il port scanning per controllare le porte aperte in un sistema Linux. Come sempre, il vostro feedback è il benvenuto. Se hai altre idee su come controllare le porte aperte, mettiti in contatto con noi.
Leggi anche:
- Come usare i comandi Netcat sulla rete