Интерфейс промежуточного драйвера NDIS для C # - PullRequest
3 голосов
/ 15 мая 2009

Я занимаюсь разработкой специализированного брандмауэра. Решение должно быть 32- и 64-битным совместимым. Моя компания хочет сохранить текущий интерфейс программы, который написан на C #.

Что мне нужно, так это: способ контролировать и манипулировать всем сетевым трафиком в системе. Мои исследования привели меня к мысли, что промежуточный драйвер NDIS (спецификация интерфейса сетевого драйвера) - это путь. Если я могу написать такой драйвер на C #, отлично, но я не уверен, что это возможно. По крайней мере, мне нужен интерфейс на C # для драйвера, написанного на любом языке.

В Интернете я нашел отличный ресурс для его создания в серии статей под названием «Расширение промежуточного драйвера NDIS для Microsoft PassThru»:

  1. Часть 1. Добавление интерфейса DeviceIoControl
  2. Часть 2. Блокировка двух IP-адресов Драйверы NDIS IM
  3. Часть 3. Поддержка 64-разрядной версии Windows XP

Однако датировано (2003 г.). Прежде чем инвестировать в чтение и изучение того, что он говорит, я хочу убедиться, что я не трачу свое время.

Есть ли лучший способ сделать это? Существуют ли какие-либо проекты или статьи с открытым исходным кодом, которые объясняют процесс лучше, чем статьи выше? Я вообще на стадионе? Помогите пожалуйста.

1 Ответ

1 голос
/ 15 мая 2009

Есть еще одна страница того же автора под названием Сетевые данные и фильтрация пакетов Windows , которая предоставляет «краткое введение в различные методы, которые можно использовать для фильтрации сетевых данных и сетевых пакетов на платформах Microsoft Windows». ».

В нем упоминаются другие варианты, например, «Драйвер TDI flter» и «Фильтрация данных в пользовательском режиме», которые могут подойти вместо этого, в зависимости от того, хотите ли вы действительно манипулировать всем сетевым трафиком в системе.

...