Introducción
En el mundo de la administración de sistemas y la seguridad informática, conocer los dispositivos y servicios que están expuestos en una red es fundamental. Nmap (Network Mapper) es una herramienta de código abierto que permite realizar escaneos de puertos y descubrimiento de hosts de forma rápida y eficiente. En este artículo aprenderás desde la instalación hasta los escaneos más avanzados, con ejemplos prácticos que puedes aplicar en tu entorno Linux.
Qué es nmap
Nmap es un escáner de puertos que utiliza paquetes IP personalizados para determinar qué hosts están disponibles en una red, qué servicios ofrecen esos hosts, qué sistemas operativos están ejecutando y qué tipo de filtros o firewalls pueden estar presentes. Su flexibilidad se debe a la gran variedad de técnicas de escaneo (TCP connect, SYN stealth, UDP, etc.) y al motor de scripts NSE que amplía sus capacidades.
Instalación en Linux
La mayoría de las distribuciones incluyen nmap en sus repositorios. En Debian/Ubuntu puedes instalarlo con:
sudo apt updatesudo apt install nmap
En Fedora o CentOS usa:
sudo dnf install nmap
Para verificar la instalación, ejecuta nmap --version y deberías ver el número de versión y la fecha de lanzamiento.
Escaneo básico de puertos
El comando más simple es escanear un host concreto:
nmap 192.168.1.10
Esto realiza un escaneo SYN stealth (-sS) por defecto si tienes privilegios de root, o un escaneo de conexión completa (-sT) si no los tienes. El resultado muestra los puertos abiertos, el estado y el servicio asociado.
Puedes especificar un rango de puertos:
nmap -p 1-1000 192.168.1.10
O escanear todos los puertos:
nmap -p- 192.168.1.10
Detección de servicios y versiones
Para obtener más información sobre qué servicio está detrás de cada puerto abierto, usa la opción -sV:
nmap -sV 192.168.1.10
Nmap enviará sondas específicas y comparará las respuestas con su base de datos de huellas de servicio, devolviendo la versión del software (por ejemplo, Apache 2.4.41, OpenSSH 7.9).
Si además deseas una detección agresiva del sistema operativo, combina -O con --osscan-guess:
nmap -O --osscan-guess 192.168.1.10
Descubrimiento de hosts en una red
Cuando necesitas saber qué dispositivos están activos en una subred, nmap ofrece el descubrimiento de hosts mediante ping ARP, ICMP o TCP. Un escaneo rápido de red se ve así:
nmap -sn 192.168.1.0/24
La bandera -sn le indica a nmap que solo realice un descubrimiento de hosts, sin escanear puertos. Esto es útil para inventariar dispositivos antes de un análisis más profundo.
Escaneo avanzado con scripts NSE
El Motor de Scripts de Nmap (NSE) permite ejecutar tareas automatizadas como detección de vulnerabilidades, extracción de información de servicios o incluso explotación ligera. Algunos scripts útiles son:
http-title: obtiene el título de una página web.ssl-cert: muestra información del certificado SSL/TLS.vuln: verifica vulnerabilidades conocidas según la base de datos CVE.
Para ejecutar uno o varios scripts, usa la bandera --script:
nmap --script http-title,ssl-cert 192.168.1.10
Puedes usar comodines para cargar todos los scripts de una categoría:
nmap --script vuln 192.168.1.10
Mejores prácticas y precauciones
Aunque nmap es una herramienta poderosa, su uso debe ser responsable y ético:
- Siempre obtén permiso explícito antes de escanear redes que no te pertenecen.
- Prefiere escaneos menos intrusivos (como
-sS) cuando trabajas en entornos de producción. - Registra los resultados en un archivo para auditoría:
nmap -oA resultado 192.168.1.0/24genera tres formatos (normal, greppable y XML). - Mantén nmap actualizado para beneficiarte de las últimas firmas y scripts.
Conclusión
Nmap se ha convertido en un elemento esencial del kit de herramientas de cualquier administrador de sistemas o profesional de seguridad. Desde un simple escaneo de puertos hasta auditorías de seguridad complejas con scripts NSE, su flexibilidad y potencia lo hacen indispensable. Con los ejemplos y recomendaciones presentados aquí, estarás listo para explorar y proteger tus redes en Linux de manera informada y segura.