Nmap: escaneo activo de puertos y servicios desde Kali Linux
Nmap es la herramienta estándar de la industria para escanear redes y descubrir qué hay al otro lado de una dirección IP. Mientras el OSINT pasivo observa lo que internet ya tiene publicado, Nmap hace lo contrario: envía paquetes reales al objetivo y analiza las respuestas para identificar puertos abiertos, servicios, versiones de software y sistemas operativos. Es el primer paso real de cualquier auditoría de seguridad y el que marca la transición entre observar y actuar.
Nmap fue creado por Gordon Lyon (conocido en la comunidad como Fyodor) en 1997 y lleva casi tres décadas siendo el escaneador de red más usado del mundo. Viene preinstalado en Kali Linux, está disponible en todas las distribuciones de pentesting y forma parte del arsenal básico tanto de los equipos de red team como de los administradores de sistemas que auditan sus propias redes internas.
Este artículo cierra la serie de reconocimiento que empezamos con la investigación de una IP, continuamos con Google Dorks y rematamos con Shodan. Con Nmap damos el salto del reconocimiento pasivo al activo — y eso cambia radicalmente el marco legal, así que la primera parte del artículo está dedicada a dejar claros los límites.
Qué es Nmap y por qué es diferente al OSINT pasivo
Nmap envía paquetes TCP, UDP o ICMP al objetivo y observa cómo responde. Cada respuesta revela algo: si un puerto está abierto, cerrado o filtrado, qué software escucha detrás, qué versión corre y — cruzando varias señales — qué sistema operativo tiene. A diferencia de Shodan, que consulta escaneos previos ya almacenados, con Nmap eres tú quien hace el escaneo, en tiempo real y contra un objetivo concreto. Esa diferencia técnica es también la diferencia legal.
⚠ Uso legal de Nmap — aviso importante
A diferencia de OSINT pasivo, Nmap interactúa con el sistema objetivo. Sin embargo, envía paquetes reales que el servidor recibe, procesa y registra en sus logs. Desde el punto de vista legal, esto ya no es observación de información pública — es, por tanto, una conexión activa con una máquina que no es tuya. Y eso cambia todo.
Escanear con Nmap sistemas que no son tuyos y sin autorización expresa puede constituir delito de acceso no autorizado a sistema informático, tipificado en el artículo 197 bis del Código Penal español, incluso aunque el escaneo no consiga identificar vulnerabilidades ni acceder a ningún servicio. La jurisprudencia europea ha condenado escaneos de puertos no autorizados como actos preparatorios de intrusión.
Los únicos escenarios legítimos son: (1) tu propia infraestructura, (2) un laboratorio virtual aislado, (3) plataformas diseñadas para pentesting como HackTheBox o TryHackMe, y (4) auditorías formales con contrato firmado por escrito. Cualquier otra cosa es ilegal. Sin excepciones.
Concepto base: cómo funciona un escaneo de puertos
Un puerto es el número que identifica un servicio dentro de una máquina. Por ejemplo, el servidor web escucha en el 80 o el 443, SSH en el 22, RDP en el 3389, MySQL en el 3306. En total hay 65.535 puertos TCP y otros tantos UDP en cada máquina. Un escáner de puertos manda paquetes a esos puertos y, según cómo responda el sistema, deduce si está abierto (hay un servicio escuchando), cerrado (no hay nada) o filtrado (un cortafuegos está bloqueando la respuesta).
Además, Nmap hace esto a escala: puede escanear los 65.535 puertos de una máquina o barrer una red entera /24 en minutos. Y no se queda en la lista de puertos; de hecho, interpreta las respuestas para identificar qué software concreto hay detrás, qué versión y qué sistema operativo. Todo eso se envía en paquetes TCP, UDP o ICMP que quedan registrados en el equipo escaneado.
Tipos de escaneo principales en Nmap
Nmap tiene muchos modos de escaneo, pero en la práctica la mayoría del trabajo se hace con un puñado. La elección depende de los permisos (root o no), del tipo de red, de si quieres pasar desapercibido y, sobre todo, de qué información buscas en cada momento.
Escaneos básicos de puertos TCP y UDP
-sS — SYN scan (el más usado, requiere root)
Envía un paquete SYN al puerto. Si el objetivo responde SYN/ACK, el puerto está abierto; en cambio, si responde RST, está cerrado. Como nunca se completa el handshake TCP (Nmap responde con RST en vez de ACK), el servicio no llega a registrar una conexión. Por eso también se llama half-open scan. Además, es el modo por defecto cuando Nmap se ejecuta como root.
sudo nmap -sS 192.168.56.103
-sT — TCP connect scan (sin privilegios)
Completa el handshake TCP completo usando la syscall connect() del sistema operativo. Es más lento y más ruidoso (queda registrado en los logs del servicio), pero no requiere permisos de root. Por lo tanto, es la opción obvia cuando no se dispone de sudo.
nmap -sT 192.168.56.103
-sU — UDP scan
Escaneo de puertos UDP. Sin embargo, es más lento que el TCP porque UDP no confirma entrega de paquetes, así que Nmap tiene que esperar timeouts. Aun así, resulta imprescindible si buscas servicios como DNS (53), SNMP (161) o NTP (123) que corren sobre UDP.
sudo nmap -sU --top-ports 50 192.168.56.103
Descubrimiento de hosts y evasión de cortafuegos
-sn — Ping scan (sin escaneo de puertos)
Solo descubre qué hosts están vivos en una red, sin tocar ningún puerto. Útil como primer paso cuando no sabes qué máquinas hay en un segmento de red.
nmap -sn 192.168.56.0/24
-Pn — No hacer descubrimiento previo
Salta la fase de ping y escanea directamente los puertos. En efecto, resulta esencial cuando el objetivo tiene el ICMP bloqueado (muchos cortafuegos lo hacen por defecto) y Nmap lo daría por muerto sin este flag.
nmap -Pn 192.168.56.103
Identificación de servicios y sistema operativo
-sV — Detección de versiones de servicio
Después de encontrar un puerto abierto, Nmap se conecta para identificar qué software concreto corre: OpenSSH 7.4, Apache 2.4.41, nginx 1.18.0, etc. Además, esta información es la base para cruzar con bases de CVEs y valorar vulnerabilidades conocidas.
nmap -sV 192.168.56.103
-O — Detección de sistema operativo
Intenta identificar el sistema operativo del objetivo analizando huellas de la pila TCP/IP. Requiere al menos un puerto abierto y uno cerrado para calcular. No siempre acierta, pero a menudo estrecha el rango a «probablemente Windows 10/11» o «Linux kernel 5.x».
sudo nmap -O 192.168.56.103
-A — Agresivo (todo de una)
Activa detección de versión (-sV), detección de SO (-O), scripts por defecto (-sC) y traceroute. Es decir, es el modo «dame toda la información posible» y también el más ruidoso — cualquier IDS decente lo detecta al instante.
sudo nmap -A 192.168.56.103
Alcance, velocidad y scripts avanzados
-p — Puertos específicos
Por defecto Nmap escanea los 1.000 puertos más comunes. Sin embargo, con -p puedes limitar a un puerto, a una lista, a un rango o a todos.
nmap -p 22,80,443 192.168.56.103 nmap -p 1-1000 192.168.56.103 nmap -p- 192.168.56.103 # Los 65.535 puertos TCP
–top-ports — Los N puertos más comunes
Alternativa a -p para los casos habituales. Concretamente, Nmap mantiene una lista de los puertos estadísticamente más frecuentes en internet y puede escanear solo esos. Por tanto, resulta rápido y razonable para un primer pase.
nmap --top-ports 100 192.168.56.103
-T0 a -T5 — Velocidad del escaneo
Controla la agresividad temporal. Por ejemplo, -T0 (paranoid) manda un paquete cada 5 minutos para evitar detección; en cambio, -T3 (normal) es el equilibrio por defecto; -T4 (aggressive) es el más usado en laboratorios; finalmente, -T5 (insane) puede saturar la red y provocar falsos negativos.
nmap -T4 192.168.56.103
–script — Nmap Scripting Engine (NSE)
Nmap incluye más de 600 scripts para tareas específicas: enumeración SMB, fuerza bruta contra servicios, detección de vulnerabilidades concretas, extracción de información de aplicaciones web. Es lo que convierte a Nmap de un escáner de puertos en una navaja suiza de reconocimiento.
nmap --script vuln 192.168.56.103 nmap --script smb-enum-shares 192.168.56.103 nmap --script http-title 192.168.56.103
Combinando flags: el escaneo serio con Nmap
Como con cualquier herramienta de línea de comandos, la potencia real aparece al combinar flags. Los siguientes son patrones de escaneo habituales que sirven para cubrir la mayor parte de los casos prácticos.
Descubrimiento rápido en una red local:
nmap -sn 192.168.56.0/24
Radiografía inicial del objetivo con versiones y SO:
sudo nmap -sS -sV -O -T4 192.168.56.103
Barrido completo de todos los puertos TCP con detección de servicios:
sudo nmap -sS -sV -p- -T4 192.168.56.103
Modo agresivo guardado a un fichero de texto:
sudo nmap -A -T4 -oN escaneo.txt 192.168.56.103
Mapeo UDP de los servicios más típicos:
sudo nmap -sU --top-ports 50 192.168.56.103
Aproximación sigilosa contra un cortafuegos que bloquea ping:
sudo nmap -sS -Pn -T2 192.168.56.103
La flag -oN guarda la salida en formato legible, -oX en XML (útil para importar a Metasploit o Dradis) y -oA guarda los tres formatos a la vez. En auditorías profesionales siempre se guarda el output — forma parte del entregable del informe.
El flujo correcto para escanear con Nmap
Lanzar un nmap -A contra un objetivo sin más es tentador pero poco eficiente. El flujo profesional va por capas, cada una aportando información que afina la siguiente.
PASO 1
Descubrir qué hosts están vivos
En primer lugar, si estás en una red y no sabes qué máquinas hay, nmap -sn sobre el rango te devuelve la lista de equipos vivos sin tocar puertos. Además, es rápido y discreto.
PASO 2
Escaneo rápido de puertos más comunes
Después, un primer pase con --top-ports 100 da un panorama general en segundos. A partir de ahí decides si profundizar en esa máquina o pasar a la siguiente.
PASO 3
Escaneo completo de puertos TCP
Una vez identificado un objetivo interesante, -p- sobre esa IP revela todos los puertos abiertos, incluyendo los que corren en puertos no estándar (por ejemplo, un SSH en el 22022, un servidor web en el 8443).
PASO 4
Identificación de servicios, versiones y SO
Ahora que sabes qué puertos están abiertos, -sV -O sobre esos puertos concretos identifica el software exacto y el sistema operativo. Por tanto, esta información es la que luego cruzas con bases de CVEs para valorar la superficie de ataque real.
PASO 5
Enumeración profunda con scripts NSE
Por último, los scripts de NSE automatizan la enumeración específica de cada servicio: usuarios anónimos en FTP, shares públicos en SMB, configuraciones débiles en TLS, formularios de login en HTTP. En consecuencia, este paso convierte la lista de puertos en información accionable.
Caso práctico: Nmap en el laboratorio de pentesting
Todos los ejemplos de esta sección se ejecutan contra la máquina Windows 11 del laboratorio de VirtualBox — IP 192.168.56.103 — desde la máquina Kali Linux — IP 192.168.56.102. Ambas máquinas están en la misma red interna aislada, configurada con un adaptador de solo anfitrión en VirtualBox. El tráfico no sale del host; nada se escanea fuera del laboratorio.
Escaneo 1 — Descubrimiento del host vivo
nmap -sn 192.168.56.0/24
Antes de escanear puertos, el primer paso en un entorno nuevo siempre es el ping sweep. Concretamente, este comando recorre todo el rango /24 de la red del laboratorio y devuelve qué IPs están activas. En un laboratorio con Kali y Windows 11, la salida típica es una línea por máquina: el host de Kali, la máquina Windows 11, y la puerta de enlace virtual de VirtualBox. Sin embargo, en una red real con decenas o cientos de equipos, este comando es el mapa inicial imprescindible.
Escaneo 2 — Radiografía rápida del objetivo
sudo nmap -sS --top-ports 100 -T4 192.168.56.103
Escaneo SYN a los 100 puertos más comunes, con velocidad agresiva. Por ejemplo, en un Windows 11 sin servicios añadidos suelen aparecer abiertos los típicos de SMB (135, 139, 445), RDP si está activado (3389) y posiblemente WinRM (5985). Además, si el equipo tiene algún servicio extra instalado (un servidor web local, una base de datos de desarrollo), saltan aquí en segundos. En resumen, es la primera imagen real de lo que hay escuchando en el objetivo.
Escaneo 3 — Detección de versiones y sistema operativo
sudo nmap -sS -sV -O -T4 -p 135,139,445,3389 192.168.56.103
Ahora afinamos sobre los puertos que sabemos abiertos del paso anterior. Con -sV Nmap identifica la versión exacta del servicio SMB (Microsoft Windows SMB) y del RDP, y además con -O estima el sistema operativo. Por ejemplo, en un Windows 11 actualizado el output típico incluye una identificación razonablemente precisa del SO y de la build. Por tanto, esta información es la que se cruza con los CVEs de NVD para evaluar vulnerabilidades conocidas — el puente natural hacia la fase de análisis.
Escaneo 4 — Enumeración SMB con scripts NSE
nmap --script "smb-enum-shares,smb-os-discovery,smb-security-mode" -p 445 192.168.56.103
Los scripts NSE convierten a Nmap en herramienta de enumeración específica. Concretamente, en este caso se apuntan tres scripts SMB: listado de recursos compartidos, descubrimiento del SO vía SMB (que a veces da información más precisa que -O) y análisis del modo de seguridad SMB. En un Windows 11 con SMB activo devuelve información sobre el dominio, el nombre NetBIOS, la versión de SMB y las carpetas compartidas visibles. Es decir, es el tipo de información que en un pentest real guía los siguientes pasos de la auditoría.
Conclusiones del caso práctico
CAPAS. Un escaneo profesional nunca es un único comando. Son varios escaneos encadenados, cada uno afinando el siguiente: descubrimiento → puertos → servicios → scripts. Cada capa reduce la incertidumbre y aumenta la información accionable.
RUIDO. Cada escaneo deja huella en los logs del objetivo. Un -A contra una máquina con Windows Defender avanzado o un EDR moderno queda registrado y puede disparar alertas. En laboratorio no importa; en un pentest real sí.
PUENTE. Nmap no es el final de la cadena, es el puente. La información que produce (puertos, versiones, SO) es la entrada para análisis de vulnerabilidades (GVM/OpenVAS, Nessus) y para frameworks de explotación (Metasploit). Nmap descubre; el resto del ecosistema actúa sobre ese descubrimiento.
El límite legal al usar Nmap
La línea aquí es mucho más dura que con OSINT pasivo. De hecho, Nmap genera tráfico real contra el objetivo: paquetes TCP, UDP o ICMP que el servidor recibe y procesa. Por tanto, desde el punto de vista del derecho informático español y europeo, eso ya es una conexión activa con un sistema informático que no es tuyo, y si no tienes autorización puede constituir delito aunque no explotes nada.
⚠ Dónde estás en cada escenario
Escanear tu propia red, tu propio servidor o tu propio laboratorio virtual → totalmente legal.
Usar Nmap contra una máquina en HackTheBox, TryHackMe, PentesterLab u otra plataforma de CTF → legal por términos de servicio de la plataforma.
Trabajar sobre un sistema con autorización escrita del propietario, dentro del scope definido en un contrato de pentest → legal dentro del scope acordado.
Lanzar un escaneo a un sistema ajeno sin autorización, aunque sea un -sn o un --top-ports 10 → art. 197 bis CP, acceso no autorizado.
Apuntar a infraestructura crítica o servicios esenciales sin autorización → art. 197 bis CP con agravantes + posibles responsabilidades adicionales.
Un detalle importante que la gente suele pasar por alto: la defensa de «solo estaba mirando si estaba vivo» o «solo quería aprender» no tiene valor legal. En efecto, la tipificación del 197 bis no exige que haya explotación ni daño — basta el acceso no autorizado o el intento de acceso. Por tanto, un ping scan sin permiso es tan ilegal como un nmap -A, solo que menos ruidoso.
La recomendación es operativa: practica siempre en tu laboratorio de VirtualBox o en plataformas autorizadas. Además, si quieres probar técnicas avanzadas contra entornos más realistas, HackTheBox y TryHackMe ofrecen rangos controlados legalmente diseñados para ello.
«Shodan te dice lo que ya está visto. Nmap te dice lo que está ahí en este momento. El salto entre una cosa y la otra es un cable que conecta tu máquina con la de otro — y esa diferencia técnica es también una frontera legal.»
— La Página de Draven · Ciberseguridad · 2026
Referencia rápida: flags de Nmap más usados
| Flag | Función | Ejemplo |
|---|---|---|
| -sS | SYN scan (half-open, root) | sudo nmap -sS IP |
| -sT | TCP connect (sin root) | nmap -sT IP |
| -sU | Escaneo UDP | sudo nmap -sU IP |
| -sn | Ping sweep (hosts vivos) | nmap -sn RED/24 |
| -Pn | Saltar descubrimiento | nmap -Pn IP |
| -sV | Detección de versiones | nmap -sV IP |
| -O | Detección de SO | sudo nmap -O IP |
| -A | Modo agresivo (todo) | sudo nmap -A IP |
| -p | Puertos específicos | nmap -p 22,80 IP |
| -p- | Todos los puertos TCP | nmap -p- IP |
| –top-ports | Los N más comunes | nmap --top-ports 100 IP |
| -T0..-T5 | Velocidad del escaneo | nmap -T4 IP |
| –script | Scripts NSE | nmap --script vuln IP |
| -oN / -oX / -oA | Guardar salida a fichero | nmap -oA salida IP |
Conclusión
Nmap es la herramienta que marca la frontera entre el reconocimiento pasivo y el activo. De hecho, saber usarlo — y usarlo solo en entornos autorizados — es el primer filtro práctico que separa a alguien que estudia ciberseguridad de alguien que puede ejercerla profesionalmente. Además, no hay curso, certificación ni máster que no pase por Nmap; por ejemplo, aparece en la OSCP, en la eJPT, en la CEH y en cualquier syllabus serio.
En resumen, con esto se cierra la serie de reconocimiento que veníamos construyendo desde el análisis de una IP, pasando por Google Dorks y Shodan. OSINT pasivo te da el mapa previo sin tocar nada; en cambio, Nmap transforma ese mapa en información técnica concreta. Por tanto, juntas son las dos mitades de la fase de reconocimiento de cualquier auditoría de seguridad.
Finalmente, el siguiente escalón natural desde aquí son dos caminos complementarios: análisis automatizado de vulnerabilidades con GVM/OpenVAS (que convierte el output de Nmap en un informe priorizado de CVEs) y explotación controlada con Metasploit (que prueba si las vulnerabilidades identificadas son realmente explotables). Los abordaremos en próximos artículos, siempre desde el laboratorio.
La Página de Draven · Ciberseguridad · Nmap · 2026
#Nmap #KaliLinux #Pentesting #EscaneoDePuertos #ReconocimientoActivo #Ciberseguridad #VirtualBox #NSE #HackingÉtico #MásterCiberseguridad #ASIR






