Muchos servicios de red se ejecutan utilizando el Protocolo de control de transmisión o TCP como protocolo de capa de transporte. Esto se debe a que TCP ofrece una comunicación orientada a la conexión que permite al dispositivo transmisor estar seguro de que el destinatario previsto del mensaje realmente lo recibe, porque se crea una conexión bidireccional.
Sin embargo, no todas las aplicaciones necesitan tener ese tipo de conexión, especialmente las aplicaciones en tiempo real donde es preferible que se descarte un mensaje en lugar de tener que esperar a que se vuelva a transmitir, lo que retrasa todo lo demás. Para estas aplicaciones, generalmente se usa el Protocolo de datagramas de usuario o el protocolo de capa de transporte UDP.
Un ejemplo de un tipo de programa que usa UDP son los videojuegos en línea. Estos juegos se basan en actualizaciones constantes enviadas por el servidor y la computadora y cualquier retraso causado por tener que retransmitir datos es significativamente más perturbador que tener que lidiar con uno o dos paquetes perdidos.
Como estos servicios basados en UDP pueden estar en cualquier red, es importante verificarlos como parte de una prueba de penetración. Afortunadamente, como UDP es bastante común, generalmente es compatible con software de prueba de red, y Nmap no es una excepción.
Cómo escanear puertos UDP con Nmap
Probar puertos UDP con Nmap es muy similar a probar TCP; de hecho, la sintaxis es esencialmente idéntica. La única diferencia es que debe especificar el indicador de "tipo de análisis" como "-sU" en lugar de "-sT" o "-sS". Por ejemplo, un comando podría ser “nmap -sU 127.0.0.1 –top-ports 100 -vv” para escanear la dirección de loopback de los 100 puertos UDP más comunes y reportar los resultados con una salida doblemente detallada.
Reúna los argumentos que desea usar y luego ejecute el comando.
Una cosa a tener en cuenta con un escaneo UDP es que llevará mucho tiempo. La mayoría de las solicitudes no reciben ninguna respuesta, lo que significa que el análisis debe esperar a que se agote el tiempo de espera de la solicitud. Esto hace que los escaneos sean mucho más lentos que los escaneos de TCP, que normalmente devolverán algún tipo de respuesta incluso si un puerto está cerrado.
Hay cuatro resultados que puede ver para los puertos UDP "abiertos", "abiertos | filtrados", "cerrados" y "filtrados". "Abierto" indica que una solicitud obtuvo una respuesta UDP. “Abierto | filtrado” indica que no se recibió respuesta, lo que podría indicar que un servicio estaba escuchando o que no había ningún servicio allí. “Cerrado” es un mensaje de error ICMP específico de “puerto inalcanzable”. "Filtrado" indica otros mensajes de error ICMP inalcanzables.