GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla le porte di ascolto con netstat

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.


Linux
  1. Controlla lo spazio su disco utilizzato su Linux con du

  2. Gestisci più istanze del servizio con systemctl

  3. Controlla quale servizio è in ascolto su una determinata porta Linux

  4. Come verificare se un particolare servizio è in esecuzione su Ubuntu

  5. netstat — perché i demoni IPv4 ascoltano le porte elencate solo in -A inet6?

Comando Netstat in Linux - 28 comandi con esempi

Come eseguire container come servizio Systemd con Podman

Come controllare le porte di ascolto in Linux (porte in uso)

Gestire cgroup con systemd

Iniziare con systemctl

Come controllare le porte aperte in Linux?