如何通过IP而不是名称列出设备?
我知道我可以获得设备名称和描述,但由于我安装了许多设备,如果我可以通过IP选择一个设备会更容易,但我找不到相关的选项,所以我想知道是否有办法吗?
foreach (var dev in CaptureDeviceList.Instance)
{
var str = String.Format("{0} {1}", dev.Name, dev.Description);
iDeviceDropDown.Items.Add(str);
}
答案 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();