Nmap – Host and Port Scanning
1. Objetivo
Después de confirmar que el host está vivo, el siguiente paso es obtener una vista precisa del sistema:
- Puertos abiertos y servicios.
- Versiones de los servicios.
- Info extra que dan los servicios.
- (Opcional) Sistema operativo.
2. Estados de puertos en Nmap
Nmap puede marcar un puerto en 6 estados:
- open → conexión establecida (TCP/UDP/SCTP). Hay servicio escuchando.
- closed → el host responde con RST (no hay servicio). Útil para saber que el host está vivo.
- filtered → no se puede saber si está abierto/cerrado porque no hay respuesta o hay error ICMP (firewall).
- unfiltered → solo en escaneo TCP ACK. Se alcanza el puerto, pero no se sabe si está open/closed.
- open|filtered → no hay respuesta; puede estar abierto pero protegido por firewall (común en UDP).
- closed|filtered → solo en IP ID idle scans; no se pudo determinar.
3. Descubrir puertos TCP abiertos
3.1. Comportamiento por defecto
- Nmap, como root, usa SYN scan
-sSsobre los top 1000 puertos TCP. - Si no tiene permisos, usa TCP connect
-sT. - Si no se indican puertos/métodos, Nmap elige los de arriba automáticamente.
3.2. Formas de indicar puertos
- Puertos sueltos:
-p 22,25,80,139,445 - Rango:
-p 22-445 - Top N más frecuentes:
--top-ports=10 - Todos los puertos:
-p- - Escaneo rápido (top 100):
-F
3.3. Ejemplo (top 10)
sudo nmap 10.129.2.28 --top-ports=10
Nmap lista los puertos y marca cada uno con su estado (open, closed, filtered, …).
4. Ver paquetes enviados/recibidos
Para ver exactamente qué está haciendo Nmap:
sudo nmap 10.129.2.28 -p 21 --packet-trace -Pn -n --disable-arp-ping
--packet-trace→ muestra cada paquete.- En el ejemplo: Nmap envía SYN y el host responde RST+ACK → el puerto está closed.
-Pn,-n,--disable-arp-ping→ evitan ruido (sin ping ICMP, sin DNS, sin ARP).
Clave:
SENT ... S→ tú mandas SYN.RCVD ... RA→ el host contesta RST+ACK → puerto cerrado.
5. TCP Connect scan (-sT)
- Usa el three-way handshake completo (SYN → SYN/ACK → ACK).
- Si recibe SYN/ACK → open; si recibe RST → closed.
- Es muy preciso pero poco sigiloso (queda en logs, fácil de detectar).
- Útil cuando:
- se prioriza exactitud,
- no se pueden usar paquetes crudos,
- el firewall permite conexiones salientes.
Ejemplo:
sudo nmap 10.129.2.28 -p 443 --packet-trace --disable-arp-ping -Pn -n --reason -sT
6. Puertos filtrados
Un puerto puede salir filtered por dos motivos típicos:
- El firewall DROPpea → Nmap no recibe nada → reintenta varias veces (
--max-retries 10) → tarda más → queda como filtered. - El firewall REJECTea → host responde con ICMP type=3/code=3 (port unreachable) → Nmap sabe al instante que está filtrado/cerrado → escaneo rápido.
Ejemplos del módulo:
- TCP 139 → no hay respuesta → tarda más →
filtered. - TCP 445 → llega ICMP “port unreachable” →
filteredpero rápido.
7. Escaneo de puertos UDP
- UDP es sin estado → no hay confirmación → los timeouts son más largos → más lento que TCP.
- Muchos servicios UDP no responden a probes vacíos → Nmap termina marcando open|filtered.
- Por eso a menudo solo algunos puertos salen claramente como
openoclosed.
Ejemplo rápido:
sudo nmap 10.129.2.28 -F -sU
-F→ top 100 puertos.-sU→ UDP scan.
Interpretación de respuestas UDP
- Si el servicio responde en UDP →
open. - Si llega ICMP type 3/code 3 (port unreachable) →
closed. - Si no hay respuesta →
open|filtered.
8. Detección de versiones (-sV)
Para sacar más info de un puerto ya abierto:
sudo nmap 10.129.2.28 -p 445 -sV -Pn -n --disable-arp-ping --packet-trace --reason
- Intenta identificar servicio, versión y hasta grupo de trabajo (en SMB).
- Útil para saber “qué” hay realmente detrás del puerto abierto.
9. Opciones del cheatsheet (relevantes a esta parte)
--top-ports=<num>→ puertos más comunes-p-/-p <rango>/-p <lista>→ control total de puertos-sS→ SYN scan (rápido, medio stealth)-sT→ TCP connect (preciso, menos stealth)-sU→ UDP-sC-> Scripts predeterminados de nmap “.nse”-sV→ detectar versiones--packet-trace/--reason→ para entender resultados- Salida:
-oA,-oN,-oG,-oX
10. Referencia
Más sobre técnicas de escaneo:
https://nmap.org/book/man-port-scanning-techniques.html