Tutorial Audacity Uno Studio di Registrazione Audio Nel Nostro PC
Sommario:
- Qual è la porta di ascolto
- Controlla le porte di ascolto con
netstat
- Controlla le porte di ascolto con
ss
- Controlla le porte di ascolto con
lsof
- Conclusione
Quando si risolvono problemi di connettività di rete o problemi specifici dell'applicazione, una delle prime cose da verificare dovrebbe essere quali porte sono effettivamente in uso sul sistema e quali applicazioni sono in ascolto su una porta specifica.
Questo articolo spiega come scoprire quali servizi stanno ascoltando su quali porte usando i comandi
netstat
,
ss
e
lsof
. Le istruzioni sono applicabili a tutti i sistemi operativi basati su Linux e Unix come macOS.
Qual è la porta di ascolto
La porta di rete è identificata dal suo numero, dall'indirizzo IP associato e dal tipo di protocollo di comunicazione come TCP o UDP.
La porta di ascolto è una porta di rete su cui è in ascolto un'applicazione o un processo, che funge da endpoint di comunicazione.
Ogni porta di ascolto può essere aperta o chiusa (filtrata) utilizzando un firewall. In termini generali, una porta aperta è una porta di rete che accetta pacchetti in entrata da posizioni remote.
Non puoi avere due servizi che ascoltano la stessa porta sullo stesso indirizzo IP.
Ad esempio, se si esegue un server Web Apache in ascolto sulle porte
80
e
443
e si tenta di installare Nginx, l'avvio successivo non verrà avviato poiché le porte HTTP e HTTPS sono già in uso.
Controlla le porte di ascolto con
netstat
netstat
è uno strumento da riga di comando che può fornire informazioni sulle connessioni di rete.
Per elencare tutte le porte TCP o UDP in ascolto, inclusi i servizi che utilizzano le porte e lo stato del socket, utilizzare il comando seguente:
sudo netstat -tunlp
Le opzioni utilizzate in questo comando hanno il seguente significato:
-
-t
- Mostra le porte TCP.-u
- Mostra le porte UDP.-n
- Mostra gli indirizzi numerici invece di risolvere gli host.-l
- Mostra solo le porte di ascolto.-p
- Mostra il PID e il nome del processo dell'ascoltatore. Queste informazioni vengono visualizzate solo se si esegue il comando come utente root o sudo.
L'output sarà simile al seguente:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
Le colonne importanti nel nostro caso sono:
-
Proto
- Il protocollo utilizzato dal socket.Local Address
IP e il numero di porta su cui è in ascolto il processo.PID/Program name
: il PID e il nome del processo.
sudo netstat -tnlp | grep:22
L'output mostra che su questa macchina la porta 22 è utilizzata dal server SSH:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Se l'output è vuoto significa che sulla porta non è in ascolto nulla.
È inoltre possibile filtrare l'elenco in base a criteri, ad esempio PID, protocollo, stato e così via.
netstat
è obsoleto e sostituito con
ss
e
ip
, ma è ancora uno dei comandi più usati per controllare le connessioni di rete.
Controlla le porte di ascolto con
ss
ss
è il nuovo
netstat
. Manca alcune delle funzionalità di
netstat
ma espone più stati TCP ed è leggermente più veloce. Le opzioni di comando sono per lo più le stesse, quindi il passaggio da
netstat
a
ss
non è difficile.
Per ottenere un elenco di tutte le porte di ascolto con
ss
digitare:
sudo ss -tunlp
L'output è quasi uguale a quello riportato da
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Controlla le porte di ascolto con
lsof
lsof
è una potente utility da riga di comando che fornisce informazioni sui file aperti dai processi.
In Linux, tutto è un file. Puoi pensare a un socket come a un file che scrive sulla rete.
Per ottenere un elenco di tutte le porte TCP in ascolto con il tipo
lsof
:
sudo lsof -nP -iTCP -sTCP:LISTEN
Le opzioni utilizzate sono le seguenti:
-
-n
- Non convertire i numeri di porta in nomi di porta.-p
- Non risolve i nomi host, mostra gli indirizzi numerici.-iTCP -sTCP:LISTEN
- Mostra solo i file di rete con stato TCP LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
La maggior parte dei nomi delle colonne di output sono autoesplicativi:
-
COMMAND
,PID
,USER
: il nome, il pid e l'utente che esegue il programma associato alla porta.NAME
: il numero di porta.
Per trovare quale processo è in ascolto su una determinata porta, ad esempio la porta
3306
dovrai usare:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
L'output mostra che la porta
3306
è utilizzata dal server MySQL:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
Per maggiori informazioni visita la pagina man lsof e leggi tutte le altre potenti opzioni di questo strumento.
Conclusione
Ti abbiamo mostrato diversi comandi che puoi usare per verificare quali porte sono in uso sul tuo sistema e come trovare quale processo è in ascolto su una porta specifica.
terminalePatch PC: strumento portatile per verificare la presenza di software obsoleto
Patch PC esegue la ricerca di software obsoleto installato sul computer Windows e offre aggiornamenti del software, se disponibili. Un buon freeware portatile!
Utilizzare check disk (chkdsk) in Windows per verificare la presenza di errori del disco rigido
Scopri come utilizzare Controlla disco (chkdsk) in Windows per verificare la presenza di errori del disco rigido.
Utilizzare lo strumento di diagnostica della memoria di Windows per verificare la presenza di problemi di memoria
Utilizzare lo strumento di diagnostica della memoria di Windows per verificare la presenza di problemi di memoria