一、如何ping指定ip address?
1、需要命名空间:System.Net.NetworkInformation
2、Ping ping=new Ping();//新建Ping类对象
PingReplay pingReplay=ping.Send("192.168.1.2", 1000)://通过ping对象Send方法获取pingRelay应答状态
bool pingSuccess=false;//ping通标志位
pingSuccess=pingReplay.Status==IPStatus.Success?true:false;//得到是否ping通结果
二、如何获取mac物理地址?
1、需要命名空间:System.Runtime.InteropServices——调用外部iphlpapi.dll, System.Net——提供网际协议IPAddress类;
2、IPAddress _Address;//实例化一个ipAddress类
if (!IPAddress.TryParse(p_Id, out _Address)) return "";//判断目标ip地址是否有效
uint DestIP = System.BitConverter.ToUInt32(_Address.GetAddressBytes(), 0);//目标地址赋值
ulong pMacAddr = 0;//初始化mac物理地址
uint PhyAddrLen = 6;//指定物理地址长度
uint error_code = ExternCall.SendARP(DestIP, 0, ref pMacAddr, ref PhyAddrLen);//调用SendARP方法
byte[] _Bytes1 = BitConverter.GetBytes(pMacAddr);//ulong转换为byte数组
string macAddress= BitConverter.ToString(_Bytes1, 0, 6).Replace('-', ':');//格式替换,最终获取MAC物理地址
三、两者综合例子如下:
1、调用外部方法:
图一、调用外部dll方法2、获取MAC物理地址方法:
图二、获取物理地址的方法3、Ping方法综合,返回是否ping通状态以及MAC物理地址:
图三、Ping方法4、把1、2、3写为一个类(ipAddress类)Windows窗体应用程序代码:
图四、WinForm窗体button事件5、效果图(请确保目标IP地址与本机为同一网段,既若目标主机ip为192.168.1.xx,你本机也应修改为192.168.1.--,--不能等于xx)
图五、ping失败效果图 图六、ping成功并获取物理地址
网友评论