C# 按IP列出设备?

C# 按IP列出设备?,c#,sharppcap,C#,Sharppcap,如何按IP而不是名称列出设备 我知道我可以获得设备名称和描述,但由于我安装了许多设备,如果我可以通过IP获得设备名称和描述,那么选择一个设备会更容易,但是我找不到任何相关选项,因此我想知道是否有一种方法 foreach (var dev in CaptureDeviceList.Instance) { var str = String.Format("{0} {1}", dev.Name, dev.Description); iDeviceDropDown.Items.Add(s

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

我知道我可以获得设备名称和描述,但由于我安装了许多设备,如果我可以通过IP获得设备名称和描述,那么选择一个设备会更容易,但是我找不到任何相关选项,因此我想知道是否有一种方法

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

我看到有一个类型为
System.Net.NetworkInformation.physicaldaddress
的属性。我认为没有直接的方法从MAC地址获取IP地址,但您可以使用
NetworkInterface.GetAllNetworkInterfaces()进行查找

更新,找到解决方案:

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());
        }
    }
}
private void GetDevices()
{
foreach(SharpPcap.LibPcap.LibPcapLiveDevice dev中的SharpPcap.LibPcap.LibPcapLiveDeviceList.Instance)
{
for(int i=0;i
实际上,我刚刚在SharpPcap中使用LibPcap找到了解决方案。