Nmap – Performance
1. Introducción
El rendimiento de los escaneos en Nmap es fundamental cuando trabajamos con redes grandes o ancho de banda limitado.
Podemos optimizarlo ajustando:
- Velocidad general:
-T <0–5> - Paralelismo:
--min-parallelism <n> - Timeouts:
--initial-rtt-timeout,--max-rtt-timeout - Reintentos:
--max-retries <n> - Tasa de envío:
--min-rate <n>
2. Timeouts (RTT)
Nmap mide el tiempo que tarda un paquete en recibir respuesta (RTT - Round Trip Time).
Por defecto comienza con --initial-rtt-timeout 100ms.
Ejemplo 1 – Escaneo por defecto
sudo nmap 10.129.2.0/24 -F
256 IPs → 10 hosts detectados → 39.44 segundos
Ejemplo 2 – Escaneo con RTT optimizado
sudo nmap 10.129.2.0/24 -F --initial-rtt-timeout 50ms --max-rtt-timeout 100ms
256 IPs → 8 hosts detectados → 12.29 segundos
⚠️ Conclusión: Reducir el timeout acelera, pero puede causar pérdida de hosts.
3. Max Retries (--max-retries)
Define cuántos intentos hará Nmap antes de descartar un puerto.
Por defecto son 10, pero podemos bajarlo para escanear más rápido.
Ejemplo
sudo nmap 10.129.2.0/24 -F --max-retries 0
| Escaneo | Duración | Puertos encontrados |
|---|---|---|
| Por defecto | 23 | Completo |
--max-retries 0 | 21 | Más rápido, menos preciso |
⚠️ Reducir retries mejora el tiempo, pero puede omitir puertos lentos o filtrados.
4. Tasa de envío (--min-rate)
Define cuántos paquetes por segundo debe enviar Nmap.
Aumentar este valor reduce tiempo de escaneo (a costa de más ruido en red).
sudo nmap 10.129.2.0/24 -F --min-rate 300 -oN tnet.minrate300
| Escaneo | Tiempo | Puertos encontrados |
|---|---|---|
| Por defecto | 29.83 s | 23 |
--min-rate 300 | 8.67 s | 23 |
💡 Conclusión: Ideal para entornos controlados o pruebas internas (white-box).
5. Timing Templates (-T <0–5>)
Nmap ofrece 6 plantillas de velocidad preconfiguradas:
| Valor | Nombre | Descripción |
|---|---|---|
-T0 | paranoid | Muy lento, evita detección IDS. |
-T1 | sneaky | Lento, discreto. |
-T2 | polite | Moderado, reduce carga en red. |
-T3 | normal | Valor por defecto. |
-T4 | aggressive | Rápido, fiable en redes estables. |
-T5 | insane | Extremadamente rápido, puede perder datos. |
Ejemplo
sudo nmap 10.129.2.0/24 -F -T5 -oN tnet.T5
Escaneo reducido de 32.44s a 18.07s, mismos 23 puertos encontrados.
6. Consejos prácticos
- 🕵️ Entornos sensibles: usa
-T2o-T1para sigilo. - 🚀 Redes internas:
-T4o-T5para máxima velocidad. - ⏱️ Escaneos grandes: combina
--min-ratey--max-retries. - ⚠️ No reduzcas
RTTniretriesen exceso, o perderás resultados. - 💾 Guarda los resultados (
-oA,-oN) para comparar desempeño.
7. Referencias
- Documentación de rendimiento: https://nmap.org/book/man-performance.html
- Plantillas de tiempo: https://nmap.org/book/performance-timing-templates.html