GNU/Linux >> Tutoriales Linux >  >> Linux

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

Como usuarios de Linux, a veces necesitamos saber en qué número de puerto está escuchando un proceso en particular. Todos los puertos están asociados con un ID de proceso o servicio en un sistema operativo. Entonces, ¿cómo encontramos este puerto? En este artículo, presentaremos tres métodos diferentes que puede utilizar para averiguar en qué puerto está escuchando un proceso.

Hemos ejecutado los comandos y procedimientos descritos en este artículo en un sistema Ubuntu 22.04 LTS.

Método 1:usar el comando netstat

Netstat, la utilidad de estadísticas de red, se utiliza para mostrar información sobre las conexiones de red. Esto incluye información sobre estadísticas de interfaz, tablas de enrutamiento y mucho más. Esta utilidad está disponible en la mayoría de los sistemas Linux, por lo que la usamos para averiguar qué puertos están usando ciertos procesos en el sistema.

Para usar el comando netstat, debe instalar la utilidad net-tools, si aún no está instalada en su sistema, usando el siguiente comando:

$ sudo apt install net-tools

Luego ejecute el siguiente comando:

$ sudo netstat -ltnp

El comando anterior brinda información netstat basada en las siguientes funciones:

  • l:muestra solo los enchufes de escucha
  • t:muestra la conexión tcp
  • n:mostrar direcciones en forma numérica
  • p:muestra el ID del proceso/nombre del programa

Por ejemplo, en el resultado anterior del comando netstat, el programa Apache2 con ID de proceso 950 se ejecuta en el puerto número 80.

También puede filtrar estadísticas para un puerto específico incorporando la función grep en su comando.

Ejemplo:

$ sudo netstat -ltnp | grep -w ':80'

Este comando le dirá específicamente qué proceso se está ejecutando en el puerto número 80.

Método 2:Usar el comando lsof

La utilidad lsof o Lista de archivos abiertos ayuda a enumerar todos los archivos abiertos en su sistema Linux. Podemos usar esta utilidad para ver todos los procesos abiertos en un puerto específico.

Para usar el comando lsof, debe instalar la utilidad lsof si aún no está instalada en su sistema a través del siguiente comando:

$ sudo apt install lsof

Usemos lsof para ver el servicio escuchando en un puerto específico.

Ejemplo:

$ sudo lsof -i :80

Este comando enumerará todos los procesos que utilizan el número de puerto TCP 80.

Método 3:Usar el comando fuser

El comando fuser muestra qué ID de proceso están utilizando los archivos, sockets o sistemas de archivos nombrados. Podemos usar este comando para ver los ID de procesos que se ejecutan en un puerto TCP específico.

Para usar el comando fuser, debe instalar la utilidad psmisc si aún no está instalada en su sistema a través del siguiente comando:

$ sudo apt install psmisc

Veamos todos los ID de proceso que se ejecutan en el puerto TCP 3306 a través del siguiente comando:

$ sudo fuser 3306/tcp

Puede especificar cualquier número de puerto en este comando para ver sus procesos de escucha.

En el resultado anterior, puede ver que el ID de proceso 975 está escuchando en TCP 3306.

Para ver a qué programa corresponde este ID de proceso, ejecute el siguiente comando:

Sintaxis:

$ ps -p [processID] -o comm=

En nuestro caso:

$ ps -p [975] -o comm=

El resultado muestra que el ID de proceso 975 corresponde al nombre del programa MySDLd. Por lo tanto, el proceso ID 975 del programa MySQLd está escuchando en el puerto número 3306.

A través de los tres métodos que ha aprendido en este artículo, puede ver fácilmente en qué puerto TCP está escuchando un proceso específico en Linux.


Linux
  1. Encuentre el tiempo de ejecución de un comando o proceso en Linux

  2. Cómo averiguar qué hace un comando de Linux

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

  4. ¿Averiguar el número de puerto de escucha de Rsyslog?

  5. Linux:¿cómo averiguar el espacio de nombres de un proceso en particular?

Cómo saber cuánto tiempo ha estado ejecutándose un proceso en Linux

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

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

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

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

¿Existe un comando en Linux para saber el número de procesador en el que se carga un proceso?