2011-06-01 37 views
0

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

我知道我可以得到设备名称和说明,但由于我有很多设备安装它会相当容易,如果我可以通过IP选择一个,但我找不到任何相关的选项,所以我想知道如果有办法呢?

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

回答

1

UPDATE看看它,找到了解决办法:

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()); 
     } 
    } 
} 
0

我看到有System.Net.NetworkInformation.PhysicalAddress类型的ICaptureDevice.MacAddress财产。我不认为这是一个直接的方式从MAC地址获取IP地址,但你可以使用NetworkInterface.GetAllNetworkInterfaces();

+0

其实我只是找到了解决它使用SharpPcap内的LibPcap。 – Prix 2011-06-01 22:48:41