Holen Sie sich einen Maschinen-MAC-Adresse auf dem lokalen Netzwerk anhand der IP, die in C#

Ich versuche eine Funktion schreiben, die eine einzelne IP address als parameter und Abfragen, die Maschine auf meinem lokalen Netzwerk, für die es MAC address.

Ich habe gesehen, viele Beispiele, dass die lokale Maschine die eigene MAC address aber keine (die ich gefunden hab), die scheinen für die Abfrage eines lokalen Netzwerks Maschine für Sie.

Ich wissen, wie eine Aufgabe ist erreichbar, wie dies Wake-on-LAN scanner software scannt die lokalen IP-Bereich und gibt die MAC-Adresse/Hostname von Maschinen.

Kann mir jemand sagen, wo ich begann zu schreiben versucht, eine Funktion dafür in C#? Jede Hilfe würde geschätzt werden. Dank

EDIT:

Als pro Mp Marco ' s Kommentar unten, haben, verwendet ARP-Tabellen.
arp-Klasse

  • Nicht sicher, ob es funktioniert, aber mit eine schnelle google-Suche fand ich diese Bibliothek sollte den trick tun: http://www.tamirgal.com/blog/post/ARP-Resolver-C-Class.aspx
  • Danke, ich glaube ich habe gelesen, ARP-Tabellen, widersprüchlich und Frage mich, ob es einen Weg gibt, um "ping" für die MAC-Adresse.
  • Ich denken, dass, wenn Sie einen regelmäßigen ping (oder anderweitig versuchen, Sie zu Kontaktieren) die IP-Adresse wird dazu führen, dass die ARP-Tabellen zu aktualisieren (andernfalls ist die Netzwerk-stack nicht in der Lage, Kontakt mit der Maschine in den ersten Platz); natürlich wird dies (wenn überhaupt) nur funktionieren, wenn die gewünschte Maschine online ist. Ich glaube nicht, dass Sie können erhalten Sie zuverlässige Ergebnisse für die offline-IP-Adressen, speziell, wenn Sie haben dynamisch zugewiesene IPs. Ich bin kein Netzwerk-Experte obwohl, so dass ich könnte falsch sein (der Versuch zu denken, mit der Sie auf das problem).
  • Vielen Dank, ARP-Tabellen waren der Weg zu gehen. Hatte ein bisschen Schwierigkeiten mit dem Beispiel im ersten Kommentar so geschrieben haben alternative. Cheers
  • Versuchen Sie, diese schöne und saubere Lösung: stackoverflow.com/a/37155004/6229375
  • Möglich, Duplikat der Wie bekomme ich die physikalische (MAC) - Adresse eine IP-Adresse mithilfe von C#?

Schreibe einen Kommentar