De C#, quiero hacer el equivalente de los siguientes:¿Cómo obtengo la dirección física (MAC) de una dirección IP usando C#?
arp -a |findstr 192.168.1.254
Alternativamente, la respuesta podría llamar a la función SendARP y obtener los resultados.
Esto permitirá que mi aplicación haga algún otro procesamiento que requiera la dirección MAC.
Lo que debe saber acerca de esta respuesta que he descubierto durante las pruebas en Windows XP utilizando Wireshark: 1) Si el par de direcciones IP/MAC ya está en la caché ARP, el paquete de petición ARP no se enviará a cabo en la red, pero SendARP aún devolverá la macAddress (potencialmente obsoleta) que tiene en su caché. 2) Este método es potencialmente muy lento si se usa solo un hilo. El bucle a través de una subred completa de direcciones IP (por ejemplo, 192.168.1.x) con un solo hilo tomó más de 250 segundos (1 segundo por dirección IP). Hacerlo de múltiples subprocesos tomó menos de un segundo para las más de 250 direcciones. – Pretzel