GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Averigüe qué procesos están escuchando en un puerto particular en Linux

En Linux, un puerto es un punto final de comunicación lógica que está asociado con un servicio en ejecución en el sistema operativo. Los puertos son administrados completamente por el sistema operativo y cada puerto está asociado con un servicio específico. Los puertos ayudan a los administradores a identificar qué servicios se están ejecutando en el sistema.

A cada puerto se le suele asignar un número. Los números de puerto van del 0 al 65535. Los puertos inferiores a 1024 se denominan puertos privilegiados. y se utilizan para protocolos especiales. Por ejemplo, el tráfico web (HTTP) pasa por el puerto 80, mientras que SSH escucha el puerto 22. Los puertos superiores a 1024 se denominan sin privilegios. puertos y se puede utilizar con fines de prueba. Por ejemplo, puede configurar su servidor web para que se ejecute en uno de esos puertos en lugar de su número de puerto predeterminado.

En esta guía, nos centraremos en cómo puede averiguar qué procesos están escuchando en qué puertos en Linux. Hemos utilizado Ubuntu 20.04 con fines de demostración.

Uso del comando netstat de Linux

El comando Linux Netstat es un acrónimo de las palabras red y estadísticas. Como habrás adivinado, es una utilidad de línea de comandos para mostrar estadísticas de red y protocolo en un sistema Linux. Además, le permite imprimir la tabla de enrutamiento, el estado de los puntos finales TCP y UDP e información sobre sus interfaces de red.

Para ver qué proceso está escuchando un puerto en particular, use la siguiente sintaxis:

# netstat -pnltu | grep -w port_number

Desglosemos la lista de opciones:

p:muestra el nombre y el ID del proceso

n:muestra la dirección del puerto

l:enumera solo los enchufes de escucha

t – Imprime conexiones TCP

u – Imprime conexiones UDP

En el siguiente ejemplo, buscamos el servicio que escucha en el puerto 80.

# netstat -pnltu | grep -w 80

El resultado indica que es el servicio del servidor web Apache el que escucha en el puerto 80.

Para verificar el servicio de escucha en el puerto 3306. Ejecute:

# netstat -pnltu | grep -w 3306

Uso del comando lsof

Acrónimo de List Open Files, el comando lsof es un comando que se utiliza para revelar archivos y directorios abiertos. Con la -i opción, puede revelar los servicios que escuchan un puerto en particular.

En el siguiente ejemplo, buscamos el servicio que escucha el puerto TCP 22, que es el servicio SSH (Secure Shell).

# lsof -i TCP:22

Uso del comando Fusor

Por último, tenemos el comando fuser. La utilidad fuser es una herramienta inteligente de línea de comandos que se utiliza para ubicar procesos mediante un socket, un archivo o, alternativamente, un directorio. También hace muchas cosas, como mostrar el tipo de proceso, el PID de cada proceso, el usuario propietario del proceso.

Para usar fuser para averiguar el servicio que escucha un puerto, primero, averigüe el PID del proceso como se muestra.

# fuser 22/tcp

A partir de entonces, proceda e invoque el comando ps para revelar el nombre del servicio. Tenga en cuenta que 34093 es el PID del proceso que obtuvimos del comando anterior

# ps -p 34093 -o comm=

Conclusión

Hemos ilustrado 3 formas que puede usar para revelar los procesos que están escuchando puertos particulares en su sistema Linux. Esperamos que ahora pueda hacerlo sin ningún problema.


Ubuntu
  1. Linux:¿cómo encontrar procesos usando el puerto serie?

  2. Cómo encontrar qué Shell está utilizando en Linux

  3. ¿Cómo saber qué procesos están usando el espacio de intercambio en Linux?

  4. ¿Se implementan los subprocesos como procesos en Linux?

  5. Linux:¿cómo saber qué procesos están anclados a qué núcleo?

Cómo encontrar qué servicio está escuchando en un puerto en particular

Cómo saber a qué grupos pertenece un usuario en Linux

Debian:averigüe en qué número de puerto está escuchando un proceso

Aquí le mostramos cómo averiguar qué entorno de escritorio está utilizando

Cómo encontrar qué versión de Linux está ejecutando

Linux:averigüe en qué número de puerto está escuchando un proceso