GNU/Linux >> Tutoriales Linux >  >> Linux

Las mejores formas de saber qué proceso está escuchando en un puerto específico

Introducción

Un puerto es un punto final de comunicación. A nivel de software, dentro de un sistema operativo, un puerto es una construcción lógica que identifica un proceso específico o un tipo de servicio de red. Se identifica un puerto para cada combinación de dirección y protocolo de transporte mediante un número sin firmar de 16 bits, conocido como número de puerto. . Los protocolos de transporte más comunes que utilizan números de puerto son el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP).

Además, el puerto es una entidad lógica que representa un punto final de comunicación y está asociado con un proceso o servicio determinado en un sistema operativo. En artículos anteriores, explicamos cómo averiguar la lista de todos los puertos abiertos en Linux y cómo verificar si se puede acceder a los puertos remotos mediante el comando Netcat.

1. Usando el comando lsof

lsof El comando (List Open Files) se usa para listar todos los archivos abiertos en un Linux

Para instalarlo en su sistema, ejecute

$ sudo apt-get install lsof     #for Debian, Ubuntu and Mint
$ sudo yum install lsof         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/lsof  #for Gentoo Linux
$ sudo pacman -S lsof           #for Arch Linux
$ sudo zypper install lsof      #for OpenSUSE  

Para encontrar el proceso/servicio que escucha en un puerto en particular, ejecute el siguiente comando:

[root@unixcop ~]# lsof -i :80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   12289   root    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24040 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24041 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
httpd   24042 apache    4u  IPv6  70310      0t0  TCP *:http (LISTEN)
[root@unixcop ~]#

2. Uso del comando netstat

Así que netstat El comando se refiere a (estadísticas de red) que se utiliza para mostrar información, incluidas las conexiones de red, las tablas de enrutamiento y las estadísticas de interfaz.

Para instalar netstat:

$ sudo apt-get install net-tools    #for Debian/Ubuntu & Mint
$ sudo dnf install net-tools        #for CentOS/RHEL/Fedora and Rocky Linux
$ pacman -S netstat-nat             #for Arch Linux
$ emerge sys-apps/net-tools         #for Gentoo
$ sudo dnf install net-tools        #for Fedora
$ sudo zypper install net-tools     #for openSUSE

Puedes usarlo con el grep Comando para encontrar el proceso o servicio escuchando en un puerto particular en Linux como con el siguiente comando:

$ netstat -ultnp | grep -w ':80' 

En el comando anterior, las banderas.

  • l – le dice a netstat que solo muestre los sockets de escucha.
  • p – permite mostrar el ID del proceso y el nombre del proceso.
  • n – le indica que muestre direcciones numéricas.
  • t – le dice que muestre las conexiones tcp.
  • grep -w – muestra la coincidencia de la cadena exacta (:80).

3. Uso del comando del fusor

fusor El comando muestra los PID de los procesos que utilizan los archivos o sistemas de archivos especificados.

Puedes instalarlo con:

$ sudo apt-get install psmisc     #for Debian, Ubuntu and Mint
$ sudo yum install psmisc         #for RHEL/CentOS/Fedora and Rocky Linux
$ sudo emerge -a sys-apps/psmisc  #for Gentoo Linux
$ sudo pacman -S psmisc           #for Arch Linux
$ sudo zypper install psmisc      #for OpenSUSE  

Puede encontrar el proceso/servicio escuchando en un puerto en particular ejecutando el comando:

[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]#

Para encontrar el nombre del proceso usando el número PID con el comando ps :

$ ps -p 2053 -o comm=
$ ps -p 2381 -o comm=
[root@unixcop ~]# fuser 80/tcp
80/tcp:              12289 24040 24041 24042
[root@unixcop ~]# ps -p 12289 -o comm=
httpd
[root@unixcop ~]# ps -p 24040 -o comm=
httpd
[root@unixcop ~]

Conclusión

En esta guía, conoce las mejores formas de encontrar el proceso/servicio escuchando en un puerto particular en Linux.


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

  2. Linux – ¿Encontrar el Pid del proceso usando un puerto específico?

  3. ¿Qué sistema de archivos para respaldar es el mejor?

  4. ¿Cómo puedo saber qué proceso está usando swap?

  5. ¿Encontrar el PID del proceso usando un puerto específico?

Debian vs Ubuntu:15 cosas que debe saber antes de elegir la mejor

Linux Mint vs Ubuntu:¿cuál es el mejor para ti?

Todas las formas de verificar si un puerto está abierto en Linux

¿Qué herramienta de copia de seguridad local es la mejor en Linux?

Linux: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?