GNU/Linux >> Tutoriales Linux >  >> Linux

Compruebe los puertos de escucha con netstat

Si está solucionando problemas de un servicio que sabe que funciona con normalidad, el siguiente paso es asegurarse de que esté escuchando en el puerto de red correcto.

El netstat El comando muestra los servicios que escuchan los puertos en un servidor Linux y los detalles de cualquier conexión que se les haya realizado actualmente. Los detalles de la conexión a considerar durante la resolución de problemas básicos del daemon de la red son las direcciones en las que el daemon está escuchando (incluido el número de puerto), el identificador del proceso del daemon ( PID) y el nombre del programa.

Necesita ejecutar netstat en el servidor que está ejecutando el servicio. Netstat no se ve afectado por la configuración de su cortafuegos.

Nota: También puede usar el lsof y ss Comandos para verificar puertos. Muchos de los indicadores de comando contenidos en este artículo son los mismos cuando ejecuta lsof y ss comandos Sin embargo, la salida devuelta cuando usa estos comandos puede no parecerse a la salida de netstat herramienta. Para obtener más información sobre ambos comandos, consulte lsof y ss manuales de mando.

Comprobar puertos

Para listar los puertos TCP que están siendo escuchados y el nombre del daemon de cada oyente y su PID, ejecute el siguiente comando:

sudo netstat -plnt

El siguiente ejemplo muestra la salida de tres programas comunes que están escuchando en tres sockets diferentes.

$ 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

Filtrar la lista

Si la lista de demonios de escucha es larga, puede usar grep para filtrarlo. Por ejemplo, para filtrar todo excepto el puerto del servidor web predeterminado 80 , ejecute el siguiente comando:

$ sudo netstat -plnt | grep ':80'
tcp        0      0 :::80                       :::*                        LISTEN      8448/httpd

Analizar los resultados

Los resultados comunes incluyen los siguientes resultados:

  • Nada está escuchando en el puerto. Verifique los archivos de configuración del servicio y luego reinicie el servicio.
  • El servicio correcto está escuchando en el puerto correcto. En este caso, debe probar el servicio más a fondo. Pase al artículo sobre la prueba del servicio de escucha para la respuesta usando netcat.
  • Algo diferente al servicio esperado parece estar escuchando en el puerto.

Nota :Es posible que un superservidor, como xinetd, esté escuchando en el puerto. Verifique su configuración de xinetd para asegurarse de que este comportamiento sea aceptable.

Si algo más está escuchando en el puerto, puede deshabilitar el programa ejecutando sudo service httpd stop , o cambie su configuración para que ya no escuche en el puerto. Cuando netstat muestra que el puerto está libre, habilite el servicio correcto (por ejemplo, sudo service vsftpd start ).

Si realiza algún cambio porque el servicio incorrecto está escuchando, ejecute netstat comando de nuevo. Si netstat no muestra el programa escuchando en el puerto correcto, debe abordar su configuración antes de continuar.

Si realiza cambios en este punto, asegúrese de probar su configuración para verificar que haya resuelto su problema.

Si usa el netstat no resolvió sus problemas de puerto, continúe probando las conexiones al servicio usando el comando netcat.


Linux
  1. Verifique el espacio en disco usado en Linux con du

  2. Verifique qué servicio está escuchando en un puerto Linux dado

  3. Cómo comprobar los puertos de escucha/abiertos con Netstat en Linux

  4. Cómo verificar si un servicio en particular se está ejecutando en Ubuntu

  5. netstat:¿por qué los demonios IPv4 escuchan los puertos enumerados solo en -A inet6?

Comando Netstat en Linux - 28 comandos con ejemplos

Cómo ejecutar contenedores como servicio Systemd con Podman

Cómo comprobar los puertos de escucha en Linux (Puertos en uso)

Administrar cgroups con systemd

Primeros pasos con systemctl

¿Cómo comprobar los puertos abiertos en Linux?