用C#编写获取远程IP,MAC的方法
微软 aspxcn.com 2002-09-30
如果要想获得远程的地址,需要用sendarp这个函数来实现。具体的代码如下:
[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); // mac.ToString("x6") 十进制转16进制
Console.WriteLine("length:" + len);
}
catch (Exception err)
{
Console.WriteLine(err);
}