netstat muestra el número de puerto en lugar del nombre del proceso

netstat muestra el número de puerto en lugar del nombre del proceso

Quiero ver en qué puerto, por ejemplo, postgresql está escuchando, así que uso:

netstat -l

Pero eso es intentar ser inteligente e imprimir el nombre del proceso en lugar del puerto:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:postgresql    *:*                     LISTEN     
tcp        0      0 *:31416                 *:*                     LISTEN   

¿Cómo puedo determinar en qué puerto está escuchando cualquier proceso con netstat?

Respuesta1

netstatestá traduciendo el puerto (predeterminado) al nombre del servicio, obtiene esta asignación del /etc/servicesarchivo.

Entonces, puedes obtener el puerto desde /etc/services:

grep '^postgresql' /etc/services

O mejor agregue la -nopción para netstatevitar cualquier resolución (host, puerto, nombre de host) y publicar el resultado en números:

netstat -nl

Puede limitar la interfaz de búsqueda agregando -tuna opción para mostrar solo los sockets TCP de escucha (de manera similar -upara UDP, -xpara los sockets de dominio UNIX):

netstat -nlt

También puede utilizar cualquier herramienta de procesamiento de texto estándar sobre el resultado para obtener únicamente el contenido deseado.

información relacionada