Список устройств по IP-адресам? - PullRequest
0 голосов
/ 02 июня 2011

Как можно перечислить устройства по IP-адресу вместо имени?

Мне известно, что я могу получить имя и описание устройства, но, поскольку у меня установлено много устройств, было бы гораздо проще, если бы я мог получить его по IP, чтобы выбрать одно, но я не смог найти какой-либо параметр, связанный с этим, поэтому мне интересно, есть подход к этому?

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

Ответы [ 2 ]

1 голос
/ 02 июня 2011

ОБНОВЛЕНИЕ, Найдено решение:

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 голосов
/ 02 июня 2011

Я вижу, что есть ICaptureDevice.MacAddress свойство типа System.Net.NetworkInformation.PhysicalAddress.Я не думаю, что есть прямой способ получить IP-адрес от MAC-адреса, но вы можете посмотреть его, используя NetworkInterface.GetAllNetworkInterfaces();

...