Introducción a Nmap
Nmap (Network Mapper) es una herramienta de código abierto diseñada para descubrir hosts y servicios en una red informática, así como para detectar vulnerabilidades y configuraciones erróneas. Su popularidad se debe a la combinación de potencia, flexibilidad y una comunidad activa que mantiene actualizadas sus bases de datos de firmas. En entornos Linux, Nmap se integra fácilmente con scripts de shell, permite automatizar auditorías de seguridad y se puede combinar con otras utilidades como tcpdump o Wireshark para un análisis más profundo.
Instalación de Nmap en las principales distribuciones
En Debian y Ubuntu, el paquete se encuentra en los repositorios oficiales y se instala con:
- sudo apt update
- sudo apt install nmap
En Fedora, CentOS y RHEL se usa dnf o yum:
- sudo dnf install nmap # Fedora
- sudo yum install nmap # CentOS/RHEL
Para Arch Linux y sus derivados:
- sudo pacman -S nmap
Si se necesita la última versión, se puede compilar desde el código fuente disponible en el repositorio oficial de GitHub, siguiendo los pasos de ./configure, make y sudo make install.
Escaneo básico de hosts y puertos
El comando más sencillo es:
- nmap 192.168.1.0/24
Esto realizará un ping sweep para determinar qué direcciones IP están activas y, por defecto, escaneará los 1000 puertos más comunes. Para limitar el escaneo a un rango de puertos específico se usa la opción -p:
- nmap -p 22,80,443 192.168.1.10
Si se desea un escaneo más rápido, se puede aplicar -T4 (plantilla de timing agresiva) o incluso -T5 para un modo «insane», aunque con mayor riesgo de ser detectado por sistemas de prevención de intrusiones.
Técnicas de escaneo avanzadas
Nmap ofrece varios tipos de escaneo que se adaptan a diferentes escenarios:
- Escaneo SYN (-sS): medio abierto, no completa el handshake TCP, menos detectable.
- Escaneo de conectividad TCP (-sT): completa el handshake, útil cuando no se tienen privilegios de root.
- Escaneo UDP (-sU): descubre servicios UDP, más lento debido a la naturaleza sin conexión del protocolo.
- Escaneo de versiones (-sV): intenta determinar la versión exacta del servicio escuchando en cada puerto.
- Escaneo de scripts (-sC o –script): ejecuta la colección de scripts NSE (Nmap Scripting Engine) para detectar vulnerabilidades, obtener información adicional o realizar brute force.
Un ejemplo combinado podría ser:
- nmap -sS -sV –script=vuln 10.0.0.5
Este comando realiza un escaneo SYN, detecta versiones y ejecuta scripts de vulnerabilidad contra la IP indicada.
Guardar y procesar los resultados
Nmap permite exportar los resultados en varios formatos para su posterior análisis:
- -oN archivo.txt: salida normal legible por humanos.
- -oX archivo.xml: formato XML, ideal para procesamiento con scripts o integración en herramientas de gestión de vulnerabilidades.
- -oG archivo.gnmap: formato grepable, útil para búsquedas rápidas con grep o awk.
- -oA base: genera los tres formatos anteriores con el mismo prefijo.
Por ejemplo:
- nmap -sS -sV -oA escaneo_red 192.168.1.0/24
Esto producirá escaneo_red.nmap, escaneo_red.xml y escaneo_red.gnmap. Los archivos XML pueden ser importados en plataformas como OpenVAS, Nessus o en dashboards personalizados mediante Python y la librería python-nmap.
Automatización de escaneos con scripts de shell
Para realizar escaneos periódicos se puede crear un pequeño script de bash que invoque a Nmap y guarde los resultados con marca de tiempo:
- #!/bin/bash
- FECHA=$(date +%Y%m%d_%H%M%S)
- nmap -sS -sV -oA escaneo_$FECHA 10.0.0.0/24
- echo «Escaneo completado: escaneo_$FECHA.*»
Este script se puede añadir a crontab para ejecutarse cada noche, generando un historial de cambios en la red que facilita la detección de nuevos dispositivos o puertos abiertos inesperados.
Mejores prácticas y consideraciones éticas
Aunque Nmap es una herramienta poderosa, su uso debe estar siempre autorizado. Escanear redes sin permiso puede infringir leyes de seguridad informática y políticas corporativas. Se recomienda:
- Obtener autorización escrita del propietario de la red o del sistema.
- Limitar el alcance del escaneo a los rangos IP y puertos acordados.
- Utilizar opciones de timing menos agresivas (-T2 o -T3) en entornos de producción para reducir el ruido de tráfico.
- Actualizar frecuentemente la base de datos de firmas y los scripts NSE para aprovechar las últimas detecciones.
- Documentar los hallazgos y generar informes claros para los stakeholders.
Siguiendo estas directrices, Nmap se convierte en un aliado indispensable para administradores de sistemas, analistas de seguridad y cualquier profesional que necesite conocer el estado real de su infraestructura de red en Linux.


