Как правило, первое, что делается в SharpPcap-приложении, это получение списка установленных сетевых адаптеров. Для этого SharpPcap предоставляет класс, CaptureDeviceList.Класс состоит из одного экземпляра, который держит в кэше список сетевых адаптеров типа ICaptureDevice.
Следующий пример показывает, как получить список адаптеров и отобразить их, либо вывести ошибку, если адаптеры отсутствуют:
// Выводим версию SharpPcap string ver = SharpPcap.Version.VersionString; Console.WriteLine("SharpPcap {0}, Example1.IfList.cs", ver); // Получаем список устройств CaptureDeviceList devices = CaptureDeviceList.Instance; //Если нет устройств выводим ошибку if(devices.Count < 1) { Console.WriteLine("Нет сетевых устройств на компьютере"); return; } Console.WriteLine("\nДоступны следующие сетевые устройства:"); Console.WriteLine("----------------------------------------------------\n"); //Печатаем все доступные устройства foreach(ICaptureDevice dev in devices) Console.WriteLine("{0}\n", dev.ToString()); Console.Write("Нажмите Enter для выхода..."); Console.ReadLine();
В результате увидим примерно следующее:
c:\sharppcap\Examples\Example1.IfList\bin\Debug>Example1.IfList.exe SharpPcap 3.5.0.0, Example1.IfList.cs The following devices are available on this machine: ---------------------------------------------------- interface: Name: \Device\NPF_{D8B7C9B2-D53D-45DA-ACF0-2E2116F97314} FriendlyName: Local Area Connection 2 Description: Intel(R) PRO/1000 MT Desktop Adapter Addresses: Addr: fe80::b444:92d8:c882:8227 Netmask: Broadaddr: Addresses: Addr: 10.0.2.15 Netmask: 255.255.255.0 Broadaddr: 255.255.255.255 Addresses: Addr: HW addr: 0800276AC792 Flags: 0 Hit 'Enter' to exit...