Cómo averiguar las IPs de una red/host
Esta es una pregunta universal que, por desgracia, no tiene una respuesta universal. Expondré las soluciones que he encontrado hasta la fecha.
- Sniffing pasivo. Pues eso, lanzamos tcpdump y vemos si podemos capturar algún paquete IP.
- Buscar servidores DHCP. El método tradicional consiste en lanzar un cliente dhcp y esperar a que reciba la configuración. Como esto es un coñazo he creado dhd, un descubridor dhcp ultra-rápido. El programa envía peticiones dhcp y muestra la respuesta por pantalla.
- Pings a direcciones broadcast. La idea es buena; un solo ping solicita respuesta de todos los equipos de la subred. Tiene 2 problemas: la dirección IP de origen de los paquetes de solicitud de eco debe estar en el mismo rango que el equipo destino (no se puede hacer un eco universal), por otro lado la mayoría de hosts ignoran los pings a direcciones broadcast.
- Escaneos activos ARP o ICMP. Podríamos usar uno de tantos escaneadores tipo nmap o ettercap, aunque en segmentos de red recomiendo netdiscover, basado en arp, que no necesita configuración previa de la interfaz de red. Recomiendo aplicar este parche (o probar la ultima version del cvs), que permite omitir la máscara de red (asumiendo /24) y permite el uso de ^C para salir limpiamente. También podemos valernos de arping para efectuar pruebas puntuales sobre un host.
Para averiguar la máscara de subred deberemos jugar con traceroute o tcptraceroute, a distintas direcciones presuntamente dentro o fuera de la subred. En función del número de saltos de la traza determinamos qué hosts están detro o fuera de nuestra subred.
No hay comentarios:
Publicar un comentario