Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: DarK_FirefoX en 6 Julio 2016, 17:40



Título: [AYUDA][C#/.NET] Obtener IP y MAC de clientes conectados en una red
Publicado por: DarK_FirefoX en 6 Julio 2016, 17:40
Hola!, tengo una duda, estoy probando hacer cosas con las librerías que utiliza .NET (desde C#) para trabajar con las redes. La cuestión es que me encuentro un poco atascado, porque necesito hacer una especie de SCAN en la red, sea inalahámbrica o cableada, para obtener la dirección IP de los dispositivos conectados a ella y su dirección MAC. El problema surge porque estoy casi seguro de que no "quiero" hacerlo haciendo PINGs porque puede demorarse un poco (incluso si lo hago multithread), además creo que no todos los dispositivos responden al PING (¿o sí?),

¿existe otra forma de hacerlo?.

Intenté utilizando:

Código:
arp -a

Pero no obtengo todos los dispositivos, quizás porque no se encuentren aún en la tabla ARP (no se si estoy en lo correcto)

Por otro lado, para que tengan una idea, un software que prácticamente realiza esta tarea es "Wireless Network Watcher" de nirsoft

Espero alguien pueda ayudarme o darme alguna idea de como solucionar mi problema.

Salu2s


Título: Re: [AYUDA][C#/.NET] Obtener IP y MAC de clientes conectados en una red
Publicado por: kub0x en 6 Julio 2016, 18:26
Buenas,

el Framework de .NET no dispone de un método nativo para listar las entradas de la tabla ARP (creo). En C++ siempre he empleado la función https://msdn.microsoft.com/es-es/library/windows/desktop/aa365956.aspx . Tendrás que hacerle un Pinvoke administrado.

Saludos!


Título: Re: [AYUDA][C#/.NET] Obtener IP y MAC de clientes conectados en una red
Publicado por: daryo en 6 Julio 2016, 18:41
tengo entendido que si quieres la mac en la tabla arp necesitas haber tenido previamente una comunicacion con ese host

otra alternativa es un escaneo tcp syn , pero no se que tan rapido sea o si es lo que buscas

https://networkinferno.net/tcp-syn-scanning

de todas formas me parece raro el caso que desabilite los paquetes icmp(para hacer ping)incluso con firewalls