【发布时间】:2012-01-19 15:12:55
【问题描述】:
我正在尝试将 IP 地址转换为 MAC 地址,然后将其转换为字节数组。我被困在第一部分,不知道该怎么做。我看到一些搜索结果在谈论System.Net.NetworkInformation.NetworkInterface,但不知道如何使用它。
这是我需要 MAC 字节数组的代码。如何做到这一点?
[DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);
private void Ping(IPAddress address)
{
byte[] macAddr = new byte[6];
uint macAddrLen = uint.Parse(macAddr.Length.ToString());
if (SendARP(int.Parse(address.ToString()), 0, macAddr, ref macAddrLen) == 0)
{
//SUCCESS!
}
}
【问题讨论】:
-
你想做什么? MAC地址无法访问,除了在主机上,所以我不明白你的问题
-
@CharlesB,我正在努力让this 工作。问题是我最后一个变量 macAddrLen 没有赋值。
-
适配器的MAC地址只能在同一网段使用。不在路由器的另一边。
标签: c# winforms bytearray mac-address arp