Cómo usar Nmap de forma segura y leer los resultados

Wed Sep 02 2026

Cómo usar Nmap de forma segura y leer los resultados

Pero Nmap mapea una red; no encuentra vulnerabilidades con un botón mágico. Su primera función es mostrarte qué responde en una red.

El material para principiantes suele tratar el descubrimiento, el escaneo de puertos, la detección de servicios y la enumeración como si fueran intercambiables. Pero cada uno responde a una pregunta diferente:

  • El descubrimiento encuentra hosts accesibles.
  • El escaneo de puertos identifica puertos accesibles.
  • La detección de servicios identifica aplicaciones y versiones.
  • La enumeración recopila los detalles necesarios para tomar una decisión.

Una lista de 100 comandos no es una guía para principiantes. (Si tu objetivo es proteger la máquina que escaneas, empieza con nuestra lista de comprobación para reforzar la seguridad de servidores Linux.); es un archivador con una tipografía peor. Esta guía de Nmap para principiantes sigue un flujo de trabajo. Autoriza, instala, descubre, escanea, interpreta y enumera. Después, informa del resultado y elige la siguiente herramienta.

En este artículo

Nmap mapea la exposición, no las vulnerabilidades

Para un principiante que necesita evidencias explicables, Nmap es un buen punto de partida predeterminado. Y su página del manual describe una herramienta de código abierto que utiliza paquetes IP sin procesar para identificar hosts, servicios, versiones, sistemas operativos y características de filtrado disponibles.

Así que Nmap mapea la exposición. Muestra qué responde y cómo responde.

Un puerto SSH abierto podría ser una vía de administración esperada, una interfaz de gestión expuesta incorrectamente o un servicio protegido por controles sólidos. Pero Nmap no puede decidir cuál de esas opciones es.

Nmap es un primer paso estándar al probar una API con curl y en la mayoría de los trabajos manuales de seguridad. Se publicó por primera vez el 1 de septiembre de 1997, en un artículo de Phrack 51 titulado “The Art of Port Scanning”. Funciona en Windows, Linux y macOS. El libro oficial ofrece un estudio más profundo. La lección práctica es más sencilla: conecta cada observación con la siguiente pregunta.

Escanea solo sistemas que estás autorizado a probar

Así que define el objetivo y tu permiso antes de instalar un scanner.

Escanear tu propio laboratorio doméstico, un activo corporativo autorizado o un objetivo de práctica proporcionado expresamente es diferente de sondear un host público arbitrario. El escaneo genera tráfico y puede afectar a equipos frágiles o activar sistemas de monitorización. La guía de ROIhacks para aprender Nmap de forma segura considera la autorización un requisito previo.

Usa Nmap únicamente contra sistemas que poseas o para los que tengas permiso explícito de prueba. Registra el objetivo, el alcance, la ventana temporal y los tipos de escaneo permitidos antes de comenzar.

Para practicar, el proyecto Nmap proporciona scanme.nmap.org como objetivo de aprendizaje. Úsalo únicamente para las prácticas permitidas por el proyecto Nmap. Una dirección pública requiere permiso.

Una autorización útil te proporciona un propietario, una ventana de mantenimiento, los servicios esperados y un contacto para resultados inusuales. Ese contexto convierte una lista de puertos en una investigación.

Instala una configuración reproducible de Nmap

Elige la instalación que facilite repetir tu primer escaneo.

En Debian o Ubuntu, el gestor de paquetes es la ruta más sencilla:

sudo apt update
sudo apt install nmap

Las versiones de los paquetes pueden quedarse atrás respecto a las versiones upstream. HackerTarget registró Nmap 7.98 como la última versión estable que probó en enero de 2026; consulta la documentación oficial de Nmap para conocer las versiones actuales.

Usa un paquete cuando la comodidad sea más importante que disponer de las huellas y scripts más recientes. Compila desde el código fuente cuando tengas una razón específica para necesitar capacidades más nuevas y puedas mantener la instalación:

sudo apt update
sudo apt install g++ libssl-dev wget
wget https://nmap.org/dist/nmap-7.98.tar.bz2
bzip2 -cd nmap-7.98.tar.bz2 | tar xvf -
cd nmap-7.98/
./configure
make
sudo make install

Los comandos anteriores siguen la ruta de compilación desde el código fuente probada por HackerTarget; la dirección de descarga versionada puede cambiar, así que verifica la versión antes de copiarla.

Docker te ofrece un entorno aislado y repetible, pero añade la configuración del contenedor. Los usuarios de Windows pueden elegir el instalador oficial para disfrutar de una experiencia nativa. WSL2 proporciona un flujo de trabajo similar al de Linux. En general, Linux ofrece la experiencia más fluida con Nmap, por lo que los ejemplos aquí utilizan comandos de Linux.

Elige una ruta, registra su versión y continúa. La arqueología de paquetes rara vez es la lección que buscabas.

Empieza con el descubrimiento de hosts, no con un escaneo gigante

Supón que 192.168.1.10 es un host de laboratorio autorizado en tu red privada. Empieza comprobando qué direcciones responden:

sudo nmap -sn 192.168.1.0/24

-sn realiza el descubrimiento de hosts sin escanear puertos. Responde a una pregunta concreta: ¿qué direcciones respondieron a estas sondas?

Podrías ver un resultado con esta estructura:

Nmap scan report for 192.168.1.10
Host is up.
Nmap done: 256 IP addresses (3 hosts up) scanned

El resultado de tres hosts y la duración de 3.29 segundos proceden de un ejemplo del tutorial de HackerTarget, no son un resultado garantizado para tu red. El comportamiento inalámbrico, las reglas del firewall, el enrutamiento y los dispositivos en suspensión afectan al descubrimiento.

Trata el descubrimiento como una pista, no como un inventario. Una respuesta fallida no demuestra que un host esté ausente, porque el filtrado y el comportamiento del host pueden suprimir las sondas. Si un inventario de activos autorizado te proporciona una dirección conocida, escanea también esa dirección directamente.

Cuando aparezca el host del laboratorio, limita el siguiente escaneo a 192.168.1.10.

Los estados de los puertos son observaciones, no veredictos

Filtered no significa closed, y open no significa automáticamente peligroso.

EstadoLo que observó NmapLo que sigue siendo desconocido
openNmap recibió una respuesta que indica que hay una aplicación escuchando.Si el servicio está aprobado, correctamente configurado o es vulnerable
closedEl host es accesible, pero no hay ningún servicio escuchando; normalmente responde un RST.Si el puerto seguirá cerrado
filteredUn firewall o ACL impidió que Nmap determinara el estado.Si existe un servicio detrás del filtro
open|filteredNmap no pudo distinguir entre un puerto abierto y uno filtrado.Qué estado corresponde
closed|filteredNmap no pudo distinguir entre un puerto cerrado y uno filtrado.Qué estado corresponde

Un firewall que rechaza envía una respuesta y puede hacer que un puerto parezca cerrado. Un firewall que descarta produce normalmente filtered. Los escaneos UDP suelen producir open|filtered, porque el silencio es difícil de interpretar.

Salida sintética para ilustrar las columnas; no es un resultado de 192.168.1.10:

PORT   STATE     SERVICE
22/tcp open      ssh
23/tcp filtered  telnet
80/tcp closed    http

Un estado open es una observación de exposición; un hallazgo requiere una comparación con el estado esperado, la configuración, la versión o una prueba.

Esta guía puede enseñarte a recopilar e interpretar evidencias de exposición. No puede decirte si un servicio está aprobado o es explotable. Esas conclusiones requieren registros de activos, evidencias de configuración y pruebas adicionales a Nmap.

Construye el escaneo por capas

Ejecuta el comando más sencillo que responda a tu pregunta actual.

sudo nmap 192.168.1.10

Un escaneo TCP predeterminado cubre los 1.000 puertos más comunes de Nmap. Es una primera pasada razonable porque proporciona una cobertura útil sin generar inmediatamente una pared de texto.

Con privilegios adecuados, haz explícito el método TCP:

sudo nmap -sS 192.168.1.10

-sS realiza un escaneo TCP SYN. Sin los privilegios necesarios para utilizar paquetes sin procesar, usa un escaneo de conexión TCP:

nmap -sT 192.168.1.10

Sin privilegios para utilizar paquetes sin procesar, Nmap usa un escaneo de conexión TCP, que generalmente crea una conexión completada y puede ser más lento o visible.

Ahora identifica las aplicaciones y versiones detrás de los puertos abiertos:

sudo nmap -sV 192.168.1.10

La detección de versiones interroga a los servicios descubiertos e intenta identificar la aplicación y la versión. Una línea como 22/tcp open ssh resulta más útil cuando Nmap puede identificar la implementación que hay detrás.

Si el resultado de los puertos comunes plantea una pregunta razonable sobre un servicio inusual, amplía el rango:

sudo nmap -p- 192.168.1.10

-p- escanea los 65.535 puertos TCP. Genera más tráfico y resultados, así que úsalo cuando la decisión justifique una cobertura más amplia. Combínalo con la detección de versiones cuando necesites que el resultado ampliado sea útil para actuar:

sudo nmap -p- -sV 192.168.1.10

La detección del sistema operativo utiliza la toma de huellas TCP/IP:

sudo nmap -O 192.168.1.10

El resultado es una estimación del sistema operativo cuya calidad depende de las respuestas y de la ruta de red. Trátalo como una evidencia que debe verificarse, especialmente cuando el resultado afecte a la corrección.

UDP requiere un escaneo separado:

sudo nmap -sU 192.168.1.10

El escaneo UDP es más lento y difícil de interpretar porque muchos servicios no responden a sondas inesperadas. Úsalo cuando el activo o el inventario hagan relevante UDP.

-A es un conjunto, no un valor predeterminado para principiantes

“¿Por qué usar -A primero?” Porque combina varias tareas antes de que sepas qué tarea necesitas.

sudo nmap -A TARGET

-A activa la detección del sistema operativo y la detección de versiones. También ejecuta los scripts predeterminados y traceroute. En un laboratorio controlado, resulta útil para estudiar cómo interactúan esas funciones. En el trabajo rutinario, puede ocultar la observación básica bajo resultados adicionales.

Podrías obtener estimaciones del sistema operativo, sondas de versiones, scripts predeterminados y un traceroute en un solo resultado. Eso dificulta identificar qué observación responde a cada pregunta. También puede generar más tráfico y más impacto en el objetivo.

Las plantillas de temporización de Nmap van de -T0 a -T5, de paranoico a insano. Una temporización más rápida puede activar alertas de los sistemas de detección de intrusiones. También puede afectar a dispositivos frágiles. Usa la temporización predeterminada hasta que comprendas el objetivo y las consecuencias de cambiarla.

Usar opciones agresivas para compensar un alcance poco claro es imprudente. La regla para detenerse es sencilla: aclara la autorización antes de aumentar la intensidad del escaneo.

Elige scripts NSE según la pregunta

El Nmap Scripting Engine, o NSE, amplía Nmap con scripts Lua para tareas de descubrimiento y detección de vulnerabilidades. La documentación oficial de NSE enumera la biblioteca actual, que ha crecido más allá de las descripciones antiguas sobre el número de scripts.

El conjunto de scripts predeterminado utiliza -sC:

sudo nmap -sV -sC TARGET

El conjunto predeterminado envía sondas adicionales. Lee las descripciones de los scripts antes de usarlo contra equipos de producción, incluso cuando el escaneo esté autorizado.

Para un script específico, determina a partir de su documentación si realiza recopilación de banners, intentos de autenticación o comprobaciones de vulnerabilidades. Después, selecciónalo por nombre únicamente tras revisar su comportamiento:

sudo nmap -sV --script <script-name> TARGET

Sustituye <script-name> por un script documentado que hayas elegido deliberadamente. Un resultado de un script aún necesita confirmación mediante los detalles del servicio, una revisión de la configuración o una evaluación autorizada.

No necesitas memorizar la biblioteca. Necesitas saber por qué seleccionaste el script.

Guarda el comando junto con el resultado

Guarda los resultados mientras trabajas para que otra persona pueda reproducir el escaneo.

Para notas legibles:

sudo nmap -sV -oN scan.txt TARGET

Para XML utilizado por otras herramientas:

sudo nmap -sV -oX scan.xml TARGET

Para obtener juntos los principales formatos:

sudo nmap -sV -oA baseline TARGET

-oN escribe resultados normales legibles para humanos. -oX escribe XML. -oA baseline crea:

baseline.nmap
baseline.xml
baseline.gnmap

Conserva el comando, el objetivo, la marca de tiempo, el operador y la referencia de autorización junto con los archivos. Añade también el propósito. Usa una fecha real en un nombre base descriptivo, por ejemplo:

lab-host-TARGET-YYYY-MM-DD

Sustituye YYYY-MM-DD por la fecha del escaneo. Almacena los resultados con acceso controlado porque los inventarios de servicios revelan la estructura de la red.

Convierte los puertos abiertos en preguntas

Empieza por la observación y después trabaja con el contexto:

  1. Confirma el servicio y la versión. Usa -sV y verifica después los detalles importantes mediante el propietario del servicio u otro control autorizado.
  2. Pregunta si el servicio debería ser accesible. SSH en el puerto 22 puede ser una administración esperada. HTTP en el puerto 80 puede servir una aplicación interna. SMTP en el puerto 25 puede pertenecer a un sistema de correo.
  3. Identifica al propietario y la configuración esperada. Un servicio no reconocido merece una escalada porque nadie puede explicar su propósito.
  4. Elige la siguiente investigación. Pasa a la revisión de la configuración, la evaluación autenticada, las pruebas de aplicaciones, la validación del firewall o la gestión de vulnerabilidades según la pregunta.

Los números de puerto proporcionan pistas. No proporcionan un veredicto.

Filtered no es una prueba de seguridad; significa que este escaneo no pudo responder a la pregunta. Un puerto abierto es una observación de exposición, mientras que un hallazgo de seguridad necesita contexto, como un servicio no autorizado, una configuración débil, una versión obsoleta o un resultado de prueba confirmado.

Deja de usar Nmap cuando la siguiente pregunta se refiera a la autenticación, el comportamiento de la aplicación, el estado de los parches o la configuración. Esas preguntas corresponden al propietario o a una herramienta diseñada para responderlas.

Elige alternativas según la tarea

La elección de la herramienta adecuada depende de la tarea, por eso escribimos una guía para elegir herramientas de pentesting.

Nmap es el punto de partida adecuado cuando necesitas resultados detallados y explicables. Otras herramientas resuelven problemas diferentes.

HerramientaMejor opción paraDesventaja
NmapDetección de servicios y del sistema operativo. NSE e investigación detalladaLos escaneos amplios tardan y necesitan interpretación
MasscanDescubrimiento de puertos muy rápido y amplioMenos contexto de servicios y mayor riesgo de alcance
RustScanDescubrimiento rápido que puede enviar resultados a NmapAñade otra herramienta y otra capa de configuración
Online scannersReconocimiento sin instalación localMenor control sobre el entorno de escaneo

ScanSearch describe Masscan como una herramienta para un descubrimiento muy amplio, incluido el trabajo a escala de Internet. Mantén ese caso de uso dentro de una autorización explícita y un alcance cuidadosamente delimitado. La velocidad aumenta el coste de un error.

La comparación de Netalith describe el papel de RustScan como descubrimiento rápido de puertos seguido de Nmap para obtener detalles. Los Online scanners intercambian la configuración local por un menor control sobre dónde y cómo se ejecutan las sondas.

Usa otro scanner cuando el problema sea la escala o la velocidad y puedas controlar el alcance. Elige Nmap cuando el resultado deba explicar qué se observó y respaldar una acción posterior defendible.

Usa este flujo de trabajo de Nmap repetible

Los comandos de referencia son solo una parte de la secuencia completa:

  1. Autoriza: registra el objetivo y el permiso. Anota el alcance, el momento y los límites del escaneo.
  2. Instala: elige un entorno de Nmap documentado y registra su versión.
  3. Descubre: encuentra hosts que respondan cuando el rango de direcciones sea incierto.
  4. Escanea: inspecciona los puertos TCP comunes y amplía después a todos los puertos cuando esté justificado.
  5. Interpreta: lee open, closed y filtered como resultados de las sondas.
  6. Enumera: identifica servicios, versiones, propietarios y configuración esperada.
  7. Informa: guarda el comando, los resultados, la marca de tiempo y las evidencias.
  8. Elige la siguiente herramienta: pasa a la revisión de la configuración, las pruebas de aplicaciones, la gestión de vulnerabilidades o un scanner más rápido cuando la pregunta lo requiera.

La detección del sistema operativo, el escaneo UDP y NSE son seguimientos deliberados. No pertenecen a todos los primeros escaneos.

Usa esta plantilla de informe:

Target:
Authorization:
Command:
Time:
Observed states/services:
Owner:
Next question:

Si no puedes completar esos campos, todavía estás escaneando; aún no estás investigando.