Cómo comprobar los puertos abiertos en Linux

Durante la resolución de problemas de los servicios que se ejecutan en un sistema Linux, comprobar los puertos abiertos es una de las tareas que cualquier usuario o administrador debería considerar realizar. Si se espera que un servicio se ejecute pero por alguna razón no lo hace, lo más probable es que el puerto asociado a ese servicio esté cerrado y deba abrirse.

En este tutorial, demostraremos cómo comprobar los puertos abiertos en un Linux desde la línea de comandos.

1) Comprobar los puertos abiertos utilizando el comando ss

El comando ss de Linux te da información detallada sobre los puertos abiertos y los sockets a la escucha. Extrae información del kernel de Linux y es más preferible al comando netstat que ha quedado obsoleto.

Para mostrar las conexiones TCP en escucha, ejecuta el comando

$ ss -tl

Muestra la salida

l – Muestra los sockets en escucha

t – Significa el puerto TCP

Para mostrar las conexiones UDP en escucha, emite el comando

$ ss -lu

Muestra la salida

u – Significa puerto UDP

o

Para mostrar tanto tcp como udp, nombre del proceso

$ ss -lntup

p – Lista del nombre del proceso que abrió sockets

Para imprimir todas las conexiones de socket, simplemente utilice el comando ss en su formato predeterminado

$ ss

Muestra de salida

2) Comprobar los puertos abiertos utilizando el comando netstat

El comando netstat es una potente herramienta de comandos que se utiliza para comprobar los puertos TCP y UDP abiertos junto con otros atributos. Para comprobar los puertos abiertos, emite el comando:

$ netstat -pnltu

Muestra de salida

Veamos las opciones del comando:

p – Muestra el ID de Procees asociado a un servicio o nombre de Programa

n – Muestra el número numérico del puerto que se ejecuta e.g 3306 para mysqld, y 22 para sshd.

l – Muestra los sockets a la escucha

t – Muestra las conexiones TCP

u – Muestra las conexiones UDP

3) Comprobar los puertos abiertos utilizando el comando lsof

El comando lsof es una herramienta de comandos de red que también se puede utilizar para comprobar los puertos abiertos en un sistema Linux. Para mostrar los puertos abiertos, emite el comando

$ lsof -i

Muestra de salida

Si quieres mostrar los sockets abiertos, utiliza el comando lsof y canaliza la salida a grep como se muestra:

$ lsof -n -P | grep LISTEN

Muestra de salida

Para ver todas las conexiones TCP ejecuta :

$ lsof -i tcp

Muestra de salida

Para visualizar todas las conexiones UDP ejecuta el comando:

$ lsof -i udp

Salida de ejemplo

4) Comprobar los puertos abiertos utilizando la utilidad Nmap

Nmap es una herramienta de escaneo de red gratuita y de código abierto que se suele utilizar para el reconocimiento en el hacking ético para descubrir los puertos abiertos de sistemas remotos. Por defecto, Nmap no viene instalado en tu sistema. Para instalar Nmap, emite el comando

Para escanear puertos TCP abiertos, ejecuta el comando

$ nmap -sT -O localhost

Muestra de salida

Para escanear puertos UDP abiertos, ejecuta el comando:

$ nmap -sU localhost

Muestra de salida

Resumiendo

Estos son los comandos linuxeros y las herramientas utilizadas para el escaneo de puertos para comprobar los puertos abiertos en un sistema Linux. Como siempre, tus comentarios son muy bienvenidos. Si tienes otras ideas sobre cómo comprobar los puertos abiertos, ponte en contacto con nosotros.

Lee también:

  • Cómo usar los comandos de Netcat en la red

.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *