Escaneo de puertos TCP y UDP abiertos con nmap
En este paso, aprenderás a utilizar la herramienta nmap para escanear tu propio sistema en busca de puertos de red abiertos. Los puertos de red son los puntos finales de comunicación en un sistema operativo. Cuando un programa quiere recibir información de la red, se pone a "escuchar" en un puerto específico. Escanear los puertos abiertos es un primer paso fundamental para evaluar la seguridad de una máquina, ya que cada puerto abierto representa un punto de entrada potencial para un atacante.
Primero, necesitas instalar nmap, ya que no está incluido en el entorno base. Es una buena práctica actualizar la lista de paquetes antes de instalar nuevo software.
Ejecuta el siguiente comando para actualizar la lista de paquetes:
sudo apt-get update
Ahora, instala nmap ejecutando:
sudo apt-get install -y nmap
Deberías ver una salida indicando que nmap y sus dependencias se están instalando.
A continuación, necesitas encontrar la dirección IP de tu máquina para indicarle a nmap qué escanear. Puedes encontrarla usando el comando ip.
ip addr show
Busca una entrada como eth0 o ens33. Tu dirección IP aparecerá junto a inet. Tendrá un aspecto similar a 172.16.50.13/24.
Cómo identificar tu dirección IP a partir de la salida:
- Busca la interfaz que tenga el estado
state UP (normalmente eth0).
- Busca la línea que comienza con
inet (no inet6).
- Toma solo la parte de la dirección IP antes de la barra
/ (por ejemplo, si ves inet 172.16.50.13/24, tu dirección IP es 172.16.50.13).
- Ignora la interfaz de bucle invertido o loopback (
lo) con la IP 127.0.0.1.
Para el resto de este laboratorio, utilizaremos <your_IP_address> como marcador de posición para tu dirección IP real.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:04:c3:1d brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.13/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159940sec preferred_lft 1892159940sec
inet6 fe80::216:3eff:fe04:c31d/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:1d:45:49:f8 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Ahora estás listo para realizar tu primer escaneo. Comencemos escaneando los puertos TCP (Transmission Control Protocol) abiertos. TCP es un protocolo orientado a la conexión que se utiliza para muchos servicios comunes como SSH (puerto 22) y HTTP (puerto 80). La opción -sT en nmap realiza un escaneo de conexión TCP.
Importante: Sustituye <your_IP_address> por la IP real que encontraste en el paso anterior. Por ejemplo, si tu IP es 172.16.50.13, el comando sería nmap -sT 172.16.50.13.
Reemplaza <your_IP_address> con tu IP y ejecuta el comando:
nmap -sT <your_IP_address>
La salida mostrará los puertos que están en estado "open" (abierto). Es probable que tu sistema tenga el puerto SSH (22) abierto por defecto, y puede que tenga servicios adicionales ejecutándose en otros puertos.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-07-01 14:08 CST
Nmap scan report for iZrj93qpoj98oqswu96cqfZ (172.16.50.13)
Host is up (0.00013s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
3000/tcp open ppp
3001/tcp open nessus
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
A continuación, escaneemos los puertos UDP (User Datagram Protocol). UDP es un protocolo sin conexión utilizado para servicios como DNS (puerto 53) y DHCP (puerto 67/68). Los escaneos UDP pueden ser más lentos y menos fiables que los TCP. El uso de sudo proporciona mejores resultados para los escaneos UDP. La opción -sU le indica a nmap que realice un escaneo UDP.
Recuerda: Sustituye <your_IP_address> por tu dirección IP real del paso anterior.
Reemplaza <your_IP_address> con tu IP y ejecuta el comando:
sudo nmap -sU <your_IP_address>
La salida podría mostrar puertos como open|filtered. Esto significa que nmap no puede determinar si el puerto está abierto o si un firewall está bloqueando el escaneo. Este es un resultado común en los escaneos UDP.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-07-01 14:09 CST
Nmap scan report for iZrj93qpoj98oqswu96cqfZ (172.16.50.13)
Host is up (0.0000060s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
68/udp open|filtered dhcpc
5353/udp open|filtered zeroconf
Nmap done: 1 IP address (1 host up) scanned in 1.29 seconds
Al completar estos escaneos, habrás identificado con éxito los servicios que están a la escucha de conexiones de red en tu máquina.