1. Introduction
Per molti utenti Ubuntu, la gestione delle porte è un aspetto cruciale per mantenere la sicurezza e le prestazioni della rete. Controllare le porte aperte è fondamentale per prevenire gli attacchi, soprattutto quando si eseguono servizi o si comunica su una rete. Inoltre, l’ispezione delle porte può aiutare nella risoluzione dei problemi e nell’ottimizzazione delle configurazioni di rete.
In questo articolo forniremo una guida dettagliata su come controllare le porte su Ubuntu, includendo istruzioni passo‑passo con comandi specifici. Queste informazioni sono utili sia per i principianti sia per gli utenti di livello intermedio.
2. Cosa sono le porte?
I numeri di porta fungono da “gateway” che consentono ai computer di inviare dati a servizi o processi specifici durante la comunicazione. La comunicazione di rete si basa principalmente su due protocolli: TCP e UDP. TCP garantisce l’affidabilità dei dati stabilendo una connessione prima di trasmettere i dati, rendendolo un “protocollo orientato alla connessione”. D’altra parte, UDP non stabilisce una connessione, consentendo una trasmissione più veloce dei dati, rendendolo un “protocollo senza connessione”.
Differenze tra TCP e UDP
- TCP (Transmission Control Protocol): Un protocollo che fornisce comunicazione affidabile, garantendo che i dati vengano consegnati in modo accurato. È comunemente usato per i server web (HTTP/HTTPS) e le connessioni SSH.
- UDP (User Datagram Protocol): A differenza di TCP, UDP non garantisce l’affidabilità ma consente la trasmissione di dati a bassa latenza. Viene spesso utilizzato per applicazioni in tempo reale come lo streaming e la VoIP.
Comprendere i numeri di porta è essenziale per gestire efficacemente la sicurezza e le prestazioni della rete.

3. Comandi comuni per verificare le porte in Ubuntu
Ci sono vari comandi disponibili per verificare quali porte sono attualmente aperte su Ubuntu. Di seguito alcuni comandi comunemente usati.
1. Comando netstat
Il comando netstat
è uno strumento potente per visualizzare le connessioni di rete, le tabelle di routing e le statistiche delle interfacce. È possibile verificare le porte in ascolto usando il seguente comando:
sudo netstat -lntu
-l
: Mostra solo porte in ascolto-n
: Visualizza indirizzi IP e numeri di porta in formato numerico-t
: Visualizza porte TCP-u
: Visualizza porte UDP
2. Comando ss
Il comando ss
è un’alternativa più efficiente a netstat
e può visualizzare rapidamente le porte in ascolto. Usa il seguente comando:
ss -lntu
ss
è considerato superiore a netstat
grazie alla sua capacità di recuperare le informazioni sui socket di rete più velocemente.
3. Comando lsof
Il comando lsof
elenca i file aperti, inclusi i processi che utilizzano le porte di rete. È possibile verificare l’utilizzo delle porte con:
sudo lsof -i
4. Comando nmap
Il comando nmap
è uno strumento di scansione di sicurezza di rete molto noto che aiuta a identificare porte e servizi aperti. Per scansionare tutte le porte sull’host locale, usa:
sudo nmap -n -PN -sT -sU -p- localhost
4. Apertura e chiusura delle porte
Gestire le porte aperte e chiuse è fondamentale per mettere in sicurezza un sistema Ubuntu. Ubuntu fornisce uno strumento firewall semplice chiamato ufw
(Uncomplicated Firewall) per aiutare a gestire le porte.
Apertura delle porte con ufw
Per aprire la porta 80 per il traffico HTTP, usa il comando seguente:
sudo ufw allow 80
Allo stesso modo, per aprire la porta 22 per l’accesso SSH:
sudo ufw allow 22
Chiusura delle porte con ufw
Per chiudere una porta aperta, usa il comando seguente:
sudo ufw delete allow 80
Questo rimuoverà la regola che consente il traffico attraverso la porta 80.
5. Esempio pratico: Verifica di una porta specifica
In questa sezione, esamineremo un esempio pratico di verifica di una porta specifica. Ad esempio, per controllare se il servizio SSH è in ascolto sulla porta 22, è possibile utilizzare il comando netstat
o ss
come segue:
ss -lnt | grep :22
Puoi anche verificare la porta usando il comando lsof
:
sudo lsof -i :22
L’output dovrebbe confermare che il servizio SSH è attivamente in ascolto sulla porta 22.

6. Problemi comuni e soluzioni
Durante il controllo o la gestione delle porte, potresti incontrare alcuni problemi comuni. Di seguito sono riportati alcuni problemi frequenti e le loro possibili soluzioni.
La porta non è aperta
Se una porta non è aperta, il primo passo è verificare che le impostazioni del firewall siano configurate correttamente. Puoi verificare lo stato di ufw
eseguendo:
sudo ufw status
Se il firewall non sta bloccando la porta, verifica che il servizio stesso sia in esecuzione correttamente. Ad esempio, per confermare se SSH è attivo, usa il seguente comando:
sudo systemctl status ssh
Il servizio è in esecuzione ma la porta non è in ascolto
In alcuni casi, un servizio può essere in esecuzione, ma la porta non è in ascolto attivo. Per risolvere questo problema, riavvia il servizio e controlla i log. Ad esempio, per riavviare il servizio SSH, usa:
sudo systemctl restart ssh
Quindi controlla i log per eventuali errori:
sudo journalctl -u ssh --no-pager | tail -20
Il firewall sta bloccando la porta
Se il firewall sta bloccando una porta necessaria, aggiungi una regola per consentire il traffico. Ad esempio, per consentire la porta 8080, esegui:
sudo ufw allow 8080
Per applicare le modifiche, ricarica ufw
:
sudo ufw reload
7. Conclusione
In questo articolo, abbiamo esplorato i comandi e i metodi essenziali per verificare le porte aperte su Ubuntu. Il monitoraggio e la gestione delle porte è un aspetto cruciale per mantenere la sicurezza della rete e la stabilità del sistema. Gestire correttamente le porte in ascolto aiuta a ridurre le vulnerabilità e a proteggere il tuo sistema da accessi non autorizzati.
Seguendo i passaggi descritti in questa guida, potrai ispezionare le porte in modo efficiente, risolvere i problemi di connettività e migliorare la sicurezza del tuo sistema Ubuntu.