0

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

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

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

2 回答 2

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());
        }
    }
}
于 2011-06-01T22:49:03.750 回答
0

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

于 2011-06-01T22:25:05.407 回答