Averiguar la IP de un 'chisme', que la consigue por DHCP

networkingArco

Cómo averiguar la IP asignada a un dispositivo empotrado, conocida su MAC.

Introducción

Si tienes una cámara IP u otro ‘chisme’ similar que obtiene su IP por DHCP ¿cómo sabes tú qué dirección le han dado?

Una posible solución es utilizar la caché ARP de tu máquina para inventarte una IP asociada a la MAC del dispositivo, pero esto no siempre funciona. Veamos otra alternativa.

ARP ping

Otra posibilidad muy interesante, si estás en la misma red que el ‘chisme’, es utilizar activamente el protocolo ARP. De esa manera puedes conseguir una lista de todos los hosts conectados con sus IP y sus MAC. Aunque hay muchas herramientas que pueden servir, pueden resultar incómodas para nuestro objetivo concreto.

Por fortuna, contamos con scapy, que nos da la posibilidad de crear herramientas específicas por una facilidad pasmosa.

Con un pequeño programilla, problema resuelto:

[arping.py]

#!/usr/bin/python
import sys, scapy
 
if len(sys.argv) != 3:
    print "Uso: arping <net> <MAC>"
    print "ej: arping 192.168.1.0/24 00:11:22:33:44:55"
    sys.exit(1)
 
scapy.conf.verb=0
ans,unans = scapy.srp(scapy.Ether(dst="ff:ff:ff:ff:ff:ff")/scapy.ARP(pdst=sys.argv[1]), timeout=2)
 
for request,reply in ans:
    if reply.hwsrc.lower().startswith(sys.argv[2].lower()):
        print "%15s - %s" % (reply.psrc, reply.hwsrc)

Comentarios

scapy fue concebido con la idea de dar a los programadores la posibilidad de crear herramientas de red específicas con muy poco esfuerzo, y al menos para mi, ese objetivo está sobradamente cumplido.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de david.villa

arp-scan

Acabo de ver en commandlinefu.com un comandillo para averiguar la IP de un host conocida su MAC y hacerle ping (ICMP).

Para ello utilizan un programa, que yo no conocía, llamado arp-scan que es básicamente la misma idea de mi modesto “arping” pero, como suele ocurrir, mejor y con muchas más opciones. Tiene una estupenda documentación muy didáctica, para el que quiera saber cómo funciona ARP y muchas otras cosas, y ¿cómo no? es paquete debian.

Lo que veo es que lo de averiguar el fabricante de la tarjeta (el OUI) no les sale muy bien y es ciertamente muy sencillo.

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.