¿Qué es Nmap?
En el panorama de la ciberseguridad en constante cambio, comprender las complejidades de tus redes es fundamental para adelantarse a los actores maliciosos. Nmap (Network Mapper) es una herramienta de código abierto que se ha ganado su reputación como elemento incondicional en el arsenal de profesionales de la ciberseguridad, administradores de sistemas y hackers éticos.
Nmap es utilizado para analizar redes y realizar auditorías de seguridad. Su conjunto de funciones va mucho más allá de la exploración básica de redes.
Funciones Principales
Usos de Nmap en Redes y Seguridad
- Inventario de redes: Elabora una lista de todos los activos de software y servicios, creando un mapa con IPs, puertos, versiones, sistemas operativos y direcciones MAC.
- Detección de vulnerabilidades: Analiza la red comparando versiones de servicios y SO con vulnerabilidades conocidas mediante NSE.
- Supervisión de redes: Automatiza las tareas de escaneo periódico con el motor de scripts NSE para monitorización continua.
scanme.nmap.org como objetivo para aprender a utilizar Nmap de forma legal y autorizada.Instalación de Nmap
Nmap está disponible para los tres principales sistemas operativos. Puedes consultar la página oficial nmap.org/download.html para obtener siempre la última versión estable.
Debian / Ubuntu
apt-get install nmap
Red Hat / CentOS / Fedora / SUSE
yum install nmap
Descarga el instalador ejecutable desde nmap.org/download y sigue el asistente.
libpcap, necesaria para que Nmap funcione. Se instala automáticamente junto con Nmap. Acepta los valores predeterminados.Con Homebrew (recomendado)
brew install nmap
Instalador .dmg
Descarga el archivo .dmg desde la sección Mac OS X Binaries en nmap.org/download.html. Esta versión también incluye ZenMap.
Referencia Rápida de Comandos
Tabla de referencia con los comandos y flags más utilizados en Nmap:
| Comando / Flag | Función | Requiere root |
|---|---|---|
| nmap | Muestra la ayuda completa de Nmap. | No |
| nmap <target> | Detección simple de host (IP, hostname o rango CIDR). | No |
| nmap -sn <target> | Escaneo de ping — identifica hosts activos sin enviar paquetes al host. | No |
| nmap -p <ports> <target> | Escaneo básico de puertos específicos o rangos. | No |
| nmap -sV -p <ports> <target> | Detección de versiones de los servicios en los puertos. | No |
| nmap -sT <target> | Escaneo de conexión TCP completa (tres vías). | No |
| nmap -sS <target> | Escaneo SYN sigiloso — semiabierto, más rápido y difícil de detectar. | Sí |
| nmap -sU -F <target> | Escaneo UDP — los 100 puertos principales (-F fast). | Sí |
| nmap -O <target> | Huella digital del sistema operativo. | Sí |
| nmap -sV --script=vulners <target> | NSE: detecta vulnerabilidades usando la base de datos Vulners. | No |
Detección de Hosts
El primer paso en la exploración de la red. En el campo <target> puede ir una dirección IP, un nombre de host o un rango de IPs en notación CIDR.
# IP individual nmap 127.0.0.1 # Hostname nmap example.com # Rango de IPs (notación CIDR — 256 hosts) nmap 192.168.10.0/24
Escaneo de Ping
Identifica hosts activos en la red sin enviar ningún paquete al host. Ideal como primer paso para descubrir qué dispositivos están en línea.
nmap -sn 10.0.0.0/24
Escaneo Básico de Puertos
Sondea los puertos y servicios abiertos en un objetivo. Sustituye <port-range> con un puerto (ej. 80) o un rango (ej. 1-1024).
nmap -p <port-range> <target> # Ejemplo: puertos web en scanme.nmap.org nmap -p 80,443 scanme.nmap.org
Detección de Versiones
Conocer las versiones de los servicios que se ejecutan en puertos abiertos es esencial para la evaluación de vulnerabilidades. El flag -sV activa la detección de versiones.
nmap -sV -p <port-range> <target> # Ejemplo: detectar versiones en puertos 22,80,443 nmap -sV -p 22,80,443 scanme.nmap.org
Huella Digital del Sistema Operativo
El flag -O permite a Nmap determinar el sistema operativo del host objetivo. Requiere privilegios de root/administrador.
sudo nmap -O <target>
Escaneo de Conexión TCP
La técnica de escaneo más directa. Nmap establece un handshake TCP completo de tres vías con cada puerto para determinar su estado: abierto, cerrado o filtrado.
nmap -sT 10.0.0.1
Escaneo SYN — Escaneo Sigiloso
El escaneo SYN (también llamado semiabierto o stealth) envía paquetes SYN a los puertos objetivo sin completar el handshake. Evalúa las respuestas para determinar la apertura del puerto sin conectarse completamente. Es más rápido y menos probable de ser detectado que el escaneo TCP.
sudo nmap -sS 10.0.0.1
Escaneo UDP
Se dirige a los puertos UDP del host. Como UDP es un protocolo sin conexión, determinar el estado de un puerto requiere interpretar la respuesta o su ausencia. Nmap detecta la limitación de velocidad y reduce el ritmo para evitar desbordamientos.
sudo nmap -sU 10.0.0.1 -F
-F, el escaneo podría durar hasta 18 horas escaneando los 65.535 puertos UDP con un límite de 1 paquete/segundo. El flag -F limita el escaneo a los 100 puertos más comunes.Escaneo del Sistema Operativo
Identifica qué sistemas operativos se están ejecutando en los hosts de destino, fundamental para comprender la arquitectura de la red.
sudo nmap -O 10.0.0.0/24
NSE — Nmap Scripting Engine
El NSE permite a Nmap realizar auditorías de seguridad avanzadas usando scripts en Lua. Incluye más de 604 scripts preinstalados organizados por categorías: auth, brute, discovery, exploit, fuzzer, intrusive, malware, safe, version, vuln.
Script vulners — Detección de CVEs
El script vulners usa la base de datos de vulnerabilidades Vulners para identificar CVEs en los servicios detectados. Requiere -sV para obtener información de versiones.
nmap -sV --script=vulners 10.0.0.0/24
nmap.org/nsedoc/scripts/ — están organizados por categoría y con documentación detallada.Nmap por Sistema Operativo
Aunque los comandos de Nmap son consistentes en todos los SO, hay diferencias en la instalación, actualización y desinstalación:
apt-get install nmapyum install nmapsudo apt-get upgrade nmapsudo apt-get remove nmapsudo yum remove nmapnmap.org/download.brew install nmapbrew upgrade nmapbrew uninstall nmapsudo rm -rf /usr/local/bin/nmapBuenas Prácticas con Nmap
scanme.nmap.org o laboratorios propios para aprender sin riesgo legal ni impacto en redes de producción.