2011-06-01 21 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