Von C#, möchte ich das Äquivalent der folgenden Funktionen ausführen:Wie erhalte ich die physische (MAC-) Adresse einer IP-Adresse mit C#?
arp -a |findstr 192.168.1.254
Alternativ könnte die Antwort die SendARP Funktion aufrufen und die Ergebnisse erhalten.
Dies ermöglicht meiner Anwendung eine andere Verarbeitung, die die MAC-Adresse erfordert.
Dinge über diese Antwort zu wissen, dass ich, während auf Windows XP entdeckt Testen Wireshark: 1) Ist das IP/MAC-Adresspaar bereits im ARP-Cache ist, wird das ARP-Anforderungspaket nicht heraus gesendet werden das Netzwerk, aber SendARP wird immer noch die (möglicherweise veraltete) macAddress zurückgeben, die es in seinem Cache hat. 2) Diese Methode ist möglicherweise sehr langsam, wenn nur ein einzelner Thread verwendet wird. Das Durchlaufen eines vollständigen Subnetzes von IP-Adressen (z. B. 192.168.1.x) mit einem einzelnen Thread dauerte 250+ Sekunden (1 Sekunde pro IP-Adresse). Das massive Multithreading dauerte weniger als eine Sekunde für alle 250+ Adressen. – Pretzel