C#通过ARP获取指定IP的MAC地址
2009-05-18 17:39
716 查看
/// <summary>
/// 调用API获取MAC地址
/// </summary>
/// <param name="p_Id">IP地址</param>
/// <returns>MAC地址</returns>
public static string GetMac(string p_Id)
{
IPAddress _Address;
if (!IPAddress.TryParse(p_Id, out _Address)) return "";
uint DestIP = System.BitConverter.ToUInt32(_Address.GetAddressBytes(), 0);
ulong pMacAddr = 0;
uint PhyAddrLen = 6;
uint error_code = SendARP(DestIP, 0, ref pMacAddr, ref PhyAddrLen);
byte[] _Bytes1 =BitConverter.GetBytes(pMacAddr);
return BitConverter.ToString(_Bytes1,0,6);
}
/// <summary>
/// 使用ARP获取MAC地址
/// </summary>
/// <param name="DestIP">目标IP</param>
/// <param name="SrcIP">0</param>
/// <param name="pMacAddr">两个uint 都是255</param>
/// <param name="PhyAddrLen">长度6</param>
/// <returns>返回错误信息</returns>
[DllImport("Iphlpapi.dll")]
public static extern uint SendARP(uint DestIP, uint SrcIP, ref ulong pMacAddr, ref uint PhyAddrLen);
相关文章推荐
- C#通过ARP获取指定IP的MAC地址
- 通过 ARP 协议获取局域网内指定 IP 地址的机器的 MAC 地址
- [C#]通过ARP获取Mac与IP的对应表
- Linux下java调取命令通过ip获取mac地址
- 通过IP或socket获取对方的MAC地址
- 获取指定IP的终端的MAC地址
- C#获取IP与MAC地址
- C#获取外网IP、本机MAC地址及Ping的实现
- C#获取本地计算机名IP,Mac地址
- C#获取本地计算机名IP,Mac地址
- c# 通过发送arp包获取ip等信息
- java通过ip获取mac地址
- C#编程之 如何获取本地和远程主机的IP及MAC地址
- C#获取本地计算机名IP,Mac地址
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip
- C#获取本地计算机名IP,Mac地址
- C# 获取IP及MAC地址
- Linux 下获取LAN中指定IP的网卡的MAC(物理地址)
- 通过IP或socket获取对方的MAC地址
- C# 获取局域网IP和MAC地址