Se stai risolvendo un servizio che sai funziona normalmente, il passaggio successivo consiste nell'assicurarti che sia in ascolto sulla porta di rete corretta.
Il netstat
Il comando mostra i servizi in ascolto delle porte su un server Linux e i dettagli di tutte le connessioni attualmente effettuate ad essi. I dettagli della connessione da considerare durante la risoluzione dei problemi dei daemon di rete di base sono gli indirizzi su cui il demone è in ascolto (incluso il numero di porta), l'identificatore del processo del demone ( PID) e il nome del programma.
Devi eseguire netstat
sul server che esegue il servizio.Netstat
non è influenzato dalla configurazione del firewall.
Nota: Puoi anche usare lsof
e ss
comandi per controllare le porte. Molti dei flag di comando contenuti in questo articolo sono gli stessi quando esegui lsof
e ss
comandi. Tuttavia, l'output restituito quando si utilizzano questi comandi potrebbe non essere simile all'output di netstat
attrezzo. Per ulteriori informazioni su entrambi i comandi, vedere lsof
e ss
manuali di comando.
Controlla le porte
Per elencare le porte TCP su cui si è in ascolto e il nome di ogni demone di listener e il relativo PID, eseguire il comando seguente:
sudo netstat -plnt
L'esempio seguente mostra l'uscita per tre programmi comuni che sono in ascolto su tre diverse prese.
$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3686/mysqld
tcp 0 0 :::443 :::* LISTEN 2218/httpd
tcp 0 0 :::80 :::* LISTEN 2218/httpd
tcp 0 0 :::22 :::* LISTEN 1051/sshd
Filtra l'elenco
Se l'elenco dei demoni in ascolto è lungo, puoi usare grep
per filtrarlo. Ad esempio, per filtrare tutto tranne la porta del server Web predefinita 80
, esegui il comando seguente:
$ sudo netstat -plnt | grep ':80'
tcp 0 0 :::80 :::* LISTEN 8448/httpd
Analizza i risultati
I risultati comuni includono i seguenti risultati:
- Nulla è in ascolto sulla porta. Controllare i file di configurazione del servizio, quindi riavviare il servizio.
- Il servizio corretto è in ascolto sulla porta corretta. In questo caso è necessario testare il servizio in modo più approfondito. Passa all'articolo sul test del servizio di ascolto per la risposta utilizzando netcat.
- Sembra che qualcosa di diverso dal servizio previsto sia in ascolto sulla porta.
Nota :Un super server, come xinetd, potrebbe essere in ascolto sulla porta. Controlla la configurazione di xinetd per assicurarti che questo comportamento sia accettabile.
Se qualcos'altro è in ascolto sulla porta, puoi disabilitare il programma eseguendo sudo service httpd stop
o modificarne la configurazione in modo che non sia più in ascolto sulla porta. Quando netstat
mostra che la porta è libera, abilita il servizio corretto (ad esempio sudo service vsftpd start
).
Se apporti modifiche perché il servizio errato è in ascolto, esegui netstat
comando di nuovo. Se netstat
non mostra il programma in ascolto sulla porta corretta, devi indirizzare la sua configurazione prima di andare oltre.
Se apporti modifiche a questo punto, assicurati di testare la configurazione per verificare di aver risolto il problema.
Se si utilizza netstat
non ha risolto i problemi relativi alla porta, continua a testare le connessioni al servizio utilizzando il comando netcat.