美文网首页
C#/.Net 如何ping指定ip address,并获取M

C#/.Net 如何ping指定ip address,并获取M

作者: 堆石成山 | 来源:发表于2018-04-05 00:32 被阅读0次

    一、如何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成功并获取物理地址

    相关文章

      网友评论

          本文标题:C#/.Net 如何ping指定ip address,并获取M

          本文链接:https://www.haomeiwen.com/subject/gvolhftx.html