Как правило, первое, что делается в 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...

 

Sharpcap 1. Получение списка усройств
Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и соглашаюсь c политикой конфиденциальности *