用C#编写获取远程IP,MAC的方法

如果要想获得远程的地址,需要用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); 
Console.WriteLine("length:"+len); 



catch(Exception err) 

Console.WriteLine(err); 

 

posted @ 2011-06-16 10:19  javawebsoa  Views(185)  Comments(0Edit  收藏  举报