Класс WinPcapDevice
содержит свойство с именем Addresses
.Это свойство содержит все адреса (IP), связанные с устройством:
string localIPAddress = "...";
WinPcapDeviceList devices = WinPcapDeviceList.Instance;
foreach(WinPcapDevice dev in devices)
{
Console.Out.WriteLine("{0}", dev.Description);
foreach(PcapAddress addr in dev.Addresses)
{
if(addr.Addr != null && addr.Addr.ipAddress != null)
{
Console.Out.WriteLine(addr.Addr.ipAddress);
if(localIPAddress == addr.Addr.ipAddress.ToString())
{
Console.Out.WriteLine("Capture device found");
}
}
}
}
Конечно, вы также можете использовать класс CaptureDeviceList
для получения списка определенных устройств.Каждое устройство в этом списке реализует ICaptureDevice
.Затем вам нужно привести к WinPcapDevice
, LibPcapLiveDevice
или AirPcapDevice
, чтобы получить доступ к свойству Address.
Надеюсь, это поможет.