Búsqueda de sitios web

4 formas de saber qué puertos escuchan en Linux


El estado de un puerto es abierto, filtrado, cerrado o sin filtrar. Se dice que un puerto está abierto si una aplicación en la máquina de destino está escuchando conexiones/paquetes en ese puerto.

En este artículo, explicaremos cuatro formas de verificar los puertos abiertos y también le mostraremos cómo encontrar qué aplicación está escuchando en qué puerto en Linux.

1. Usando el comando Netstat

Netstat es una herramienta ampliamente utilizada para consultar información sobre el subsistema de red de Linux. Puedes usarlo para imprimir todos los puertos abiertos como este:

sudo netstat -ltup 

La bandera -l le dice a netstat que imprima todos los sockets de escucha, -t muestra todas las conexiones TCP, -u muestra todas las conexiones UDP y -p permite imprimir el nombre de la aplicación/programa que escucha en el puerto.

Para imprimir valores numéricos en lugar de nombres de servicios, agregue la marca -n.

sudo netstat -lntup

También puedes usar el comando grep para saber qué aplicación está escuchando en un puerto en particular, por ejemplo.

sudo netstat -lntup | grep "nginx"

Alternativamente, puede especificar el puerto y buscar la aplicación vinculada, como se muestra.

sudo netstat -lntup | grep ":80"

2. Usando el comando ss

El comando ss es otra herramienta útil para mostrar información sobre sockets. Su resultado es similar al de netstat. El siguiente comando mostrará todos los puertos de escucha para conexiones TCP y UDP en valores numéricos.

sudo ss -lntu

3. Usando el comando Nmap

Nmap es una potente y popular herramienta de exploración de redes y escáner de puertos. Para instalar nmap en su sistema, use su administrador de paquetes predeterminado como se muestra.

sudo apt install nmap  [On Debian/Ubuntu]
sudo yum install nmap  [On CentOS/RHEL]
sudo dnf install nmap  [On Fedora 22+]

Para escanear todos los puertos abiertos/de escucha en su sistema Linux, ejecute el siguiente comando (que debería tardar bastante en completarse).

sudo nmap -n -PN -sT -sU -p- localhost

4. Usando el comando lsof

La última herramienta que cubriremos para consultar puertos abiertos es el comando lsof, que se utiliza para enumerar archivos abiertos en Linux. Dado que en Unix/Linux todo es un archivo, un archivo abierto puede ser una secuencia o un archivo de red.

Para enumerar todos los archivos de Internet y de red, utilice la opción -i. Tenga en cuenta que este comando muestra una combinación de nombres de servicios y puertos numéricos.

sudo lsof -i

Para saber qué aplicación está escuchando en un puerto en particular, ejecute lsof de este formulario.

sudo lsof -i :80

¡Eso es todo! En este artículo, hemos explicado cuatro formas de comprobar los puertos abiertos en Linux. También mostramos cómo verificar qué procesos están vinculados a puertos particulares. Puede compartir sus pensamientos o hacer cualquier pregunta a través del formulario de comentarios a continuación.