按IP列出设备?

时间:2011-06-01 21:57:57

标签: c# sharppcap

如何通过IP而不是名称列出设备?

我知道我可以获得设备名称和描述,但由于我安装了许多设备,如果我可以通过IP选择一个设备会更容易,但我找不到相关的选项,所以我想知道是否有办法吗?

foreach (var dev in CaptureDeviceList.Instance)
{
    var str = String.Format("{0} {1}", dev.Name, dev.Description);
    iDeviceDropDown.Items.Add(str);
}

2 个答案:

答案 0 :(得分:1)

更新,找到解决方案:

private void GetDevices()
{
    foreach (SharpPcap.LibPcap.LibPcapLiveDevice dev in SharpPcap.LibPcap.LibPcapLiveDeviceList.Instance)
    {
        for (int i = 0; i < dev.Addresses.Count; i++)
        {
            var ip = dev.Addresses[i].Addr.ipAddress;
            if (ip == null)
                continue;

            iDeviceDropDown.Items.Add(ip.ToString());
        }
    }
}

答案 1 :(得分:0)

我看到System.Net.NetworkInformation.PhysicalAddress类型的ICaptureDevice.MacAddress属性。我不认为有直接的方法从MAC地址获取IP地址,但您可以使用NetworkInterface.GetAllNetworkInterfaces();

查找