0

名前の代わりに IP でデバイスを一覧表示するにはどうすればよいですか?

デバイス名と説明を取得できることは認識していますが、多くのデバイスがインストールされているため、IP で取得して 1 つを選択できればかなり簡単ですが、関連するオプションが見つからなかったので、それにアプローチ?

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

typeのICaptureDevice.MacAddressプロパティがあるようSystem.Net.NetworkInformation.PhysicalAddressです。MACアドレスからIPアドレスを取得する直接的な方法はないと思いますが、次を使用して調べることができますNetworkInterface.GetAllNetworkInterfaces();

于 2011-06-01T22:25:05.407 に答える