Написание NDIS драйвера с сохранением пакетов в файле

Тема в разделе "WASM.BEGINNERS", создана пользователем Dmitry_177, 8 июн 2007.

  1. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    Почитав интернете про написание NDIS драйвера, у меня возникло несколько вопросов... Нужно все входящие/исходящие пакеты сохранять в файл.. В какой-то статье в интернете разобраны функции MPSend минипорта и PtReceive протокола, в которых я как понимаю можно скопировать пакет для работы с ним.. А вот что делать с остальными функциями, такими как MPInitialize, MPQueryInformation, MPSetInformation и др. из минипорта и PtOpenAdapterComplete, PtCloseAdapterComplete, PtSendComplete и др. из протокола? Нужно ли их вообще прописывать в структурах MChars и PChars в DriverEntry? Или можно заместо них указать просто NULL? Или они все же нужны, а их можно просто скопировать из примера в DDK passthru?

    Как лучше сохранять пакеты в файл? Непосредственно в самом драйвере функцией ZwWriteFile или передавать сохраняемую информацию в программу, чтобы уже она сохраняла?
     
  2. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    Посмотри в стророну WinPCAP, он вроде умеет дампить пакеты сразу в файл.

    Еще нужен именно свой драйвер, возьми Passthru из DDK и переделай под свои нужды.

    Где сохранять файл: сохранять в кренел моде удобнее если тебе надо просто дамп пакетов делать непрерывно - тоесть просто драйвер дампит все что нипопадя. Если же надо дать юзеру возможность выбрать папку для сохранения, или выставить фильтры на траффик, то лучше сейвить в юзермоде.
     
  3. ntcdm

    ntcdm New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2007
    Сообщения:
    247
    П.С. Очень рекомендую почитать:

    Extending The Microsoft
    PassThru NDIS Intermediate Driver
    Part 1 Adding a DeviceIoControl Interface
    http://www.wd-3.com/archive/ExtendingPassthru.htm


    Extending The Microsoft PassThru NDIS Intermediate Driver--Part 2
    Two IP Address Blocking NDIS IM Drivers
    http://www.wd-3.com/archive/ExtendingPassthru2.htm