ZMap, una herramienta para escanear todo Internet en menos de una hora.


En Internet ya hay varias herramientas para escanear redes y ordenadores, con nmap a la cabeza. Sin embargo, estas herramientas tienen un problema a la hora de escanear redes grandes (como, por ejemplo, todo Internet): son lentas. Podrías tardar meses en acabar un escaneo de este tipo, y para entonces cualquier conclusión que puedas sacar no será muy válida.

Por eso, unos investigadores de la Universidad de Michigan han creado ZMap, una herramienta para Linux específicamente diseñada para escanear rápidamente grandes redes. Lo que han conseguido es bastante impresionante: alzcanzando el 97% de la velocidad máxima teórica de una conexión Ethernet, escanearía todo Internet en menos de una hora.

Para conseguirlo, han usado algunos trucos curiosos. Por ejemplo: no van escaneando las direcciones IP en orden, sino que van “a saltos” (usan grupos multiplicativos para hacer esos saltos de forma eficiente). Si lo hiciesen, perderían velocidad al enviar muchos paquetes a la misma subred, que se saturaría y no respondería tan rápido.

Por otra parte, se saltan los métodos normales de conexiones del kernel de Linux para evitar que este ejecute procedimientos innecesarios que ralentizarían el proceso. También evitan guardar cualquier tipo de estado de las conexiones para ahorrar tiempo a la hora de enviarlos y procesarlos.

Ahora bien, ¿para qué sirve hacer un escaneo rápido de todo Internet? Hay muchas aplicaciones. Por ejemplo, llevar actualizada una estadística del número de sitios en Internet que tienen HTTPS frente a los que sólo tienen HTTP, ver cuántos sitios tienen fallos de seguridad o monitorizar la disponibilidad y tiempo de respuesta de servidores en tiempo real. También hay algún propósito menos inocuo: con Zmap podrían encontrarse todos los nodos Tor en funcionamiento, lo que podría poner en peligro la privacidad de sus usuarios.

En resumen, una herramienta muy interesante, y que además es software libre por si queréis ver cómo funciona por dentro. Lo único malo es que sólo funciona con IPv4: cuando IPv6 esté implantado, el espacio de direcciones será demasiado grande como para poder plantearse un análisis de todo Internet.