Hallo,
wie würdet ihr die MAC-Adresse eines Remote Computers ermitteln?
Die meisten Beispiele im INET rufen "arp -a" auf... Jedoch möchte ich nicht 256 arp prozesse starten. (Unklarheiten/Fragen zum asynchronen Programmieren (IP-Scanner))
Alternativ habe ich SendARP gefunden.
pinvoke.net/default.aspx/iphlpapi.sendarp
bzw.
msdn.microsoft.com/en-us/libra…op/aa366358(v=vs.85).aspx
Gibt es noch alternativen? Ist SendARP schneller als arp -a?
wie würdet ihr die MAC-Adresse eines Remote Computers ermitteln?
Die meisten Beispiele im INET rufen "arp -a" auf... Jedoch möchte ich nicht 256 arp prozesse starten. (Unklarheiten/Fragen zum asynchronen Programmieren (IP-Scanner))
Alternativ habe ich SendARP gefunden.
pinvoke.net/default.aspx/iphlpapi.sendarp
bzw.
msdn.microsoft.com/en-us/libra…op/aa366358(v=vs.85).aspx
C#-Quellcode
-
- [DllImport("iphlpapi.dll", ExactSpelling = true)]
- public static extern int SendARP(int DestIP, int SrcIP, [Out] byte[] pMacAddr, ref int PhyAddrLen);
- private void button1_Click(object sender, EventArgs e)
- {
- IPAddress ip = IPAddress.Parse("192.168.178.1");
- byte[] arp = new byte[6];
- int len = arp.Length;
- int a = SendARP((int)ip.Address, 0, arp, ref len);
- label1.Text = BitConverter.ToString(arp, 0, 6);
- }
Gibt es noch alternativen? Ist SendARP schneller als arp -a?
NETworkManager - A powerful tool for managing networks and troubleshoot network problems!