Redes

nmap básico: audita tu red local con 10 escaneos útiles 2026

nmap lleva casi 30 años (fundado en 1997) siendo la herramienta estándar para ver qué hay en una red. Acá te dejo los 10 comandos que uso seguido en mi homelab, explicados uno por uno, sin la sintaxis críptica que aparece en todos los tutoriales.


TL;DR — Lo que vas a tener al final

  • Tiempo de setup: 30-60 minutos para las primeras VLANs.
  • Requisitos: Switch gestionable 802.1Q, NICs Ethernet.
  • Resultado: VLANs funcionales, failover en bonding, DHCP por VLAN.
  • Troubleshooting: ip link show, bridge vlan show, tcpdump -e -i eth0.

Por qué importa auditar tu propia red

Cuando tienes un homelab con varios nodos, containers Docker, una Raspberry Pi experimental, y el smart TV que se conecta solo a la WiFi de invitados sin que te des cuenta, la pregunta “¿qué está corriendo en mi red?” deja de ser trivial.

Un escaneo con nmap te responde tres cosas concretas: 1. Qué dispositivos están vivos en tu red 2. Qué puertos tienen abiertos 3. Qué servicio corre en cada puerto

Lo mejor es que nmap viene en los repos de todas las distros, corre sin GUI, y los comandos básicos son seguros hasta en una red en producción.

Importante: solo escaneá redes que te pertenezcan. Escanear redes de terceros sin autorización es ilegal en la mayoría de las jurisdicciones, independientemente de que sea “solo para ver”.


Índice

  1. Instalar nmap
  2. Descubrir hosts vivos
  3. Escanear puertos
  4. Detectar servicios y versiones
  5. Troubleshooting común

1. Instalar nmap

Antes de tocar nada, verifica qué binario tienes y qué versión. Las distros modernas suelen traer nmap preinstalado, pero a veces la versión es vieja y le faltan features (--stats-every, los nuevos scripts NSE, etc.).

# Verificar instalación
which nmap
nmap --version
# Instalar si falta
sudo apt install -y nmap         # Debian/Ubuntu
sudo dnf install -y nmap        # Fedora/RHEL
sudo pacman -S nmap             # Arch

Si nmap corre pero ciertos tipos de escaneo devuelven “requires root privileges”: ciertos tipos de probe (SYN scan, raw scan, OS detection) necesitan CAP_NET_RAW. Las opciones son correr con sudo, o instalar capabilities de forma persistente con sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip $(which nmap). La segunda es más cómoda si lo usas seguido.


2. Descubrir hosts vivos

Ping scan sobre toda la subred

El primer paso en cualquier auditoría es saber qué hay. Un “ping scan” manda ICMP echo request a cada IP del rango y reporta cuáles responden. Es rápido, liviano, y casi nunca levanta alertas en firewalls hogareños.

# Escanear toda la subred /24 (256 IPs)
nmap -sn 192.168.1.0/24

La salida lista cada IP activa con su MAC address y (si está disponible) el fabricante de la NIC. Es la mejor forma de encontrar dispositivos olvidados: una impresora que alguien conectó hace un año, un ESP8266 de un proyecto, la Raspberry Pi del taller.

Si ves muchos menos hosts de los que esperas: probablemente el firewall de tu distro (ufw, firewalld) está bloqueando los ICMP entrantes, o el router tiene “Client Isolation” activado. prueba con -Pn para saltarte el host discovery y escanear directo los puertos.

ARP scan para LAN (más confiable que ping)

En redes Ethernet, ARP es más confiable que ICMP porque ARP no es filtrable por firewall (los switches lo necesitan para funcionar). nmap lo sabe y por eso -sn -PR es el método recomendado para LAN.

# ARP scan, mucho más confiable en redes cableadas
sudo nmap -sn -PR 192.168.1.0/24

Si ARP scan devuelve “host down” en IPs que sabes que existen: probablemente el switch tiene port security limitando ARP por puerto, o VLANs segmentadas que no esperabas. En ese caso, escaneá cada VLAN por separado o revisa la config del switch.


3. Escanear puertos

Top 1000 puertos TCP (rápido, clásico)

El escaneo default de nmap son los 1000 puertos más comunes vía TCP SYN (half-open scan). Es el balance justo entre velocidad y cobertura. Tarda entre 5 y 30 segundos en una LAN.

# Escaneo default sobre un host específico
nmap 192.168.1.10
# Mismo escaneo pero sobre todo el rango
nmap 192.168.1.0/24

La salida lista cada puerto con su estado: open (algo escucha), closed (alcanzable pero nada escucha), filtered (firewall descarta sin responder), unfiltered (alcanzable pero nmap no puede distinguir entre open/closed).

Si todos los puertos aparecen filtered: hay un firewall stateful dropeando todo lo no permitido. Esto pasa seguido cuando escaneás desde una zona DMZ hacia la LAN. Para verificar, prueba con un puerto que sabes que está abierto (ej. el 22 si es un servidor SSH).

Escanear todos los puertos (lento pero exhaustivo)

Para auditoría real, los 1000 puertos default no alcanzan. Hay servicios en puertos altos (8080, 8443, 9000, etc.) que se pierden. La flag -p- le dice a nmap que escanee los 65535 puertos TCP.

# Escaneo completo de puertos TCP sobre un host
nmap -p- 192.168.1.10
# Más rápido: paralelizar con min-rate
sudo nmap -p- --min-rate=5000 192.168.1.10

Si el escaneo completo tarda más de 5 minutos en una LAN: probablemente algo está mal. O el host está filtrando tráfico (y por eso cada conexión espera el timeout), o --min-rate es muy bajo. Para LAN, --min-rate 5000 es razonable; para internet bajalo a 1000 o vas a disparar rate limiting del proveedor.

Solo UDP (muchos servicios críticos son UDP)

TCP es lo que más se escanea, pero UDP tiene servicios importantes: DNS (53), SNMP (161), DHCP server (67), NTP (123). El problema es que UDP scan es lento porque no hay ACK; nmap tiene que esperar timeout en la mayoría de los casos.

# Top 20 puertos UDP (los más comunes)
sudo nmap -sU --top-ports 20 192.168.1.1
# Solo los puertos UDP críticos para auditoría
sudo nmap -sU -p 53,67,123,161,500,514,1812,1900 192.168.1.1

Si ves “open|filtered” en casi todos los puertos UDP: es lo normal. UDP scan no puede distinguir entre “puerto cerrado que no responde” y “puerto abierto que tampoco responde”. Para confirmar un servicio UDP, usa la detección de versión: nmap -sU -sV -p 53 192.168.1.1. Si devuelve bind9 o dnsmasq, está abierto de verdad.


4. Detectar servicios y versiones

Detección de versión con -sV

Saber que el puerto 22 está abierto es menos útil que saber que es OpenSSH 9.6p1 con Ubuntu 24.04 detrás. La detección de versión manda probes específicos al servicio y trata de identificarlo por su banner. Es lo que convierte a nmap en una herramienta de auditoría real.

# Detección de versión en puertos abiertos
sudo nmap -sV 192.168.1.10
# Más agresivo, manda más probes
sudo nmap -sV --version-intensity 9 192.168.1.10

Si ves muchos servicios identificados como “tcpwrapped”: el host está usando tcp_wrappers (hosts.allow/hosts.deny) o un firewall que dropea después del handshake pero antes de leer el banner. Es legítimo pero impide identificación.

Detección de SO con -O

La detección de sistema operativo usa fingerprints de la implementación TCP/IP (TTLs, tamaños de ventana, opciones TCP). Es sorpresivamente precisa en redes modernas porque cada OS tiene un patrón único.

# OS detection
sudo nmap -O 192.168.1.10
# Combinado con detección de versión y scripts
sudo nmap -A 192.168.1.10

La flag -A es la combinación de -O, -sV, --script=default y traceroute. Es el “escaneo agresivo” que te da todo de una. Útil para auditoría inicial, pero ruidoso: cualquier IDS decente lo detecta.

Si nmap reporta “OS detection failed”: probablemente el host tiene un firewall que modifica paquetes (normal en Windows con su firewall habilitado). El fingerprint se basa en respuestas crudas; si están alteradas, no hay match.

Escaneo con scripts NSE (vulnerabilidades comunes)

NSE (Nmap Scripting Engine) es lo que vuelve a nmap realmente poderoso. Tiene scripts para detectar vulnerabilidades conocidas, brute forcear autenticación, enumerar shares SMB, y más.

# Scripts default (no rompe nada, solo enumera)
nmap -sV -sC 192.168.1.10
# Scripts de vulnerabilidades específicas
nmap --script=vuln 192.168.1.10
# Solo scripts de SMB (útil en redes con Windows)
nmap --script=smb-enum-shares,smb-vuln-ms17-010 -p 445 192.168.1.10

Si un script NSE tira “ERROR: Script execution failed”: el script necesita permisos que no tienes (muchos requieren sudo), o el script no existe en tu versión. Para listar los scripts disponibles: ls /usr/share/nmap/scripts/ | grep -i smb.


5. Troubleshooting común

“El host aparece como down cuando sé que está vivo”

El ICMP puede estar bloqueado pero el host igual responde en otros puertos. La flag -Pn le dice a nmap que se salte el host discovery y vaya directo a escanear puertos.

# Saltarse ICMP discovery
nmap -Pn 192.168.1.10
# Saltarse ICMP y ARP discovery
sudo nmap -Pn -sn 192.168.1.0/24

Si con -Pn tampoco aparece nada: hay un firewall stateful bloqueando todo. verifica con ping, traceroute, y arp -an si estás en LAN. Si ARP lo ve pero ICMP y TCP no, es firewall del host (no del router).

“Los escaneos tardan muchísimo”

Tres causas típicas: 1. Estás escaneando internet (sin querer) en vez de LAN 2. --min-rate es muy bajo y los timeouts se acumulan 3. DNS reverso está colgando en cada probe

# Escaneo rápido sin DNS reverso
nmap -n -T4 192.168.1.0/24
# -T4 es "aggressive timing", -T5 es "insane" (ruidoso)
# -n desactiva resolución DNS

Si -T4 te parece lento igual: -T5 es más rápido pero puede disparar rate limits en algunos routers. Para LAN -T4 es suficiente; para internet bajalo a -T3.

“nmap muestra puertos que no deberían estar abiertos”

Esto es habitual y casi siempre significa una de tres cosas: 1. Un container Docker está exponiendo el puerto al host 2. Un servicio systemd está bindeando a 0.0.0.0 en vez de 127.0.0.1 3. Hay un servicio ephemeral que quedó corriendo

# Ver qué proceso está escuchando en un puerto específico
sudo ss -tlnp | grep ':22 '
sudo lsof -i :22
# Para UDP
sudo ss -ulnp | grep ':53 '

Si no encuentras el proceso pero el puerto está abierto: probablemente es un container. verifica con docker ps y docker port .

“Quiero escanear un rango IPv6”

nmap soporta IPv6 pero la sintaxis cambia un poco y no todas las flags funcionan igual. El host discovery en IPv6 es solo ICMPv6 y Neighbor Discovery (ARP no existe).

# Ping scan IPv6
nmap -6 -sn fe80::/64
# Escaneo de puertos en IPv6
nmap -6 2001:db8::1

Si el escaneo IPv6 dice “host seems down” en algo que sabes vivo: muchas redes tienen IPv6 con firewall más estricto que IPv4, o el host no tiene link-local address configurada correctamente. verifica con ping6 antes de seguir.


Resumen

nmap es la navaja suiza para auditoría de red. Los 10 comandos que te dejé cubren los casos reales de un homelab: descubrir qué hay, qué puertos están abiertos, qué servicios corren, y qué versión. Combinados con los scripts NSE, te dan visibilidad total sin instalar nada extra.

Para profundizar, leé la guía de [mtr y traceroute](/mtr-traceroute-diagnostico-red-linux-2026/) para diagnosticar latencia entre los hosts que encontraste, y la de [configurar firewall con nftables](/configurar-firewall-linux-nftables-reemplazo-iptables/) para cerrar lo que no debería estar expuesto.

Preguntas frecuentes

¿Por qué nmap básico: audita tu red local con 10 escaneos útiles 2026 es relevante para sysadmins Linux?

Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.

¿Qué necesito para empezar con nmap básico: audita tu red?

Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.

¿Cuáles son los errores más comunes con nmap básico: audita tu red?

Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.

¿Cuándo usar nmap básico: audita tu red y cuándo una alternativa?

Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.

¿Cómo migro desde una configuración previa a nmap básico: audita tu red?

Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.

Lee también

Alfonso Moreno | Sysadmin Senior

Soy Alfonso, sysadmin senior con RHCE y más de 10 años administrando sistemas Linux para empresas y proyectos personales. Me especializo en infraestructura, redes, virtualización, monitoring, automation y self-hosting. Sobre SoyLinux.com SoyLinux.com es un blog técnico en español sobre Linux, software libre y self-hosting. Lo mantengo en mi tiempo libre. Áreas de expertise - Linux server administration: RHEL, CentOS, Rocky, Alma, Fedora, Debian, Ubuntu - Network services: Postfix, BIND, Samba, NFS, Squid - Virtualización y containers: KVM, Proxmox, Docker, Podman - Monitoring: Prometheus, Grafana, Zabbix - Automation: Ansible, Bash scripting - Self-hosting: Vaultwarden, Nextcloud, Jellyfin, Immich, Homelab Contacto - Email: [email protected]

One thought on “nmap básico: audita tu red local con 10 escaneos útiles 2026”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *