Qué es Nmap y cómo instalarlo
Nmap (Network Mapper) es una herramienta libre y de código abierto para descubrir equipos y servicios en una red. Envía paquetes construidos a medida y analiza las respuestas para responder a tres preguntas del reconocimiento: qué hosts están vivos, qué puertos tienen abiertos y qué software escucha detrás. Es el primer paso de casi cualquier auditoría: no puedes evaluar lo que no sabes que existe.
Instálalo según tu sistema:
# Debian / Ubuntu / Kalisudo apt update && sudo apt install -y nmap# Fedora / RHELsudo dnf install -y nmap# Descarga el instalador oficial desde nmap.org# o, con winget:winget install Insecure.Nmap# Con Homebrewbrew install nmapVerifica la instalación con nmap --version. A partir de aquí usaremos la red de laboratorio10.0.0.0/24 y el host de ejemplo 10.0.0.5.
Paso 1 · Descubrir qué hosts están vivos
Antes de escanear puertos conviene saber qué direcciones responden. El barrido de descubrimiento (ping scan) no toca puertos: solo comprueba qué equipos están encendidos, lo que reduce ruido y tiempo.
# Barrido de descubrimiento: qué hosts responden (sin tocar puertos)nmap -sn 10.0.0.0/24El resultado es una lista de hosts activos con su IP y, cuando se puede resolver, su nombre. Con esa lista decides sobre cuáles seguir. En redes donde el ICMP está filtrado, añade-PS22,80,443 para descubrir por TCP en puertos habituales.
Paso 2 · Escaneo de puertos
El escaneo SYN (-sS) es el más usado: envía un SYN, interpreta la respuesta y no completa la conexión, por lo que es rápido y discreto. Requiere privilegios de administrador. El-p- cubre los 65.535 puertos; --min-rate acelera el envío.
# Escaneo SYN de los 65.535 puertos, rápido (requiere sudo)sudo nmap -sS -p- --min-rate 5000 10.0.0.5Para servicios sobre UDP (DNS, SNMP, DHCP) el escaneo es más lento y menos fiable; limítalo a los puertos más comunes:
# UDP, limitado a los puertos más comunessudo nmap -sU --top-ports 50 10.0.0.5Interpreta cada puerto por su estado: open (un servicio acepta conexiones),closed (responde pero nada escucha) y filtered (un cortafuegos descarta el paquete y Nmap no puede decidir).
Paso 3 · Versiones, sistema operativo y scripts
Saber que el 443 está abierto es poco; lo útil es saber qué escucha y en qué versión, porque eso es lo que se cruza luego con las bases de vulnerabilidades. La detección de versiones (-sV) y los scripts por defecto (-sC) hacen ese trabajo:
# Detección de versión (-sV) + scripts por defecto (-sC) + SO (-O)sudo nmap -sV -sC -O -p 22,80,443 10.0.0.5# Guarda la evidencia en los tres formatossudo nmap -sV -sC -oA reconocimiento 10.0.0.5La detección de sistema operativo (-O) analiza el comportamiento de la pila TCP/IP para estimar el SO. El motor de scripts (NSE) va más allá: la categoría vuln comprueba fallos conocidos.
# Motor de scripts, categoría de vulnerabilidades conocidasnmap -sV --script vuln 10.0.0.5Cómo leer los resultados como un analista
Un buen reconocimiento no termina en el volcado de Nmap; empieza ahí. Con la tabla de puertos, servicios y versiones delante:
- Prioriza la superficie de exposición. Un panel de administración, una base de datos o RDP abiertos pesan más que un puerto de impresión.
- Ata versión a vulnerabilidad. Anota producto y versión exactos; son la entrada para decidir qué revisar primero.
- Guarda la evidencia. Exporta con
-oA reconocimientopara conservar los tres formatos con fecha y hora. - Contrasta lo filtrado. Un bloque de puertos filtered suele delatar un cortafuegos, no la ausencia de servicios.
Glosario
Puerto
Número entre 0 y 65535 que identifica un servicio dentro de un host.
Escaneo SYN (-sS)
Técnica que interpreta la respuesta al primer paquete TCP sin completar la conexión.
Estado filtered
Resultado en el que Nmap no puede decidir porque un filtro descarta o altera la respuesta.
Detección de versiones
Sondeo que intenta identificar el producto y la versión que atienden en un puerto.
NSE
Nmap Scripting Engine, motor para ejecutar scripts de descubrimiento y comprobación.