如何获取远程机器的IP与MAC地址(c#代码)

发布时间:2020-12-03编辑:脚本学堂
在c#开发中,要获得远程机器的地址(IP地址或MAC地址),要借助sendarp函数实现。

c#代码获取远程机器的IP地址mac地址的代码。
 

复制代码 代码示例:

[DllImport("Iphlpapi.dll")]
private static unsafe extern int SendARP(Int32 dest,Int32 host,ref IntPtr mac,ref IntPtr length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);

Int32 ldest= inet_addr("157.60.68.163");//目的地的ip
Int32 lhost= inet_addr("157.60.68.33");//本地的ip

try
{
Byte[] macinfo=new Byte[6];
Int32 length=6;

IntPtr mac=new IntPtr(macinfo[0]);
IntPtr len=new IntPtr(6);
int ii=SendARP(ldest,lhost, ref mac, ref len);

Console.WriteLine("Mac Add:"+mac);
Console.WriteLine("length:"+len);
}
catch(Exception err)
{
Console.WriteLine(err);
}

之前,脚本学堂也提供过与IP地址与MAC地址相关的文章,大家可以参考下:
C#获取cpu序列号、硬盘ID、网卡MAC地址的实现代码
asp.net根据MAC地址让每台电脑限领一次账号的代码
asp.net如何获取服务器ip与mac地址