Нужен совет и подсказка по разработке драйверов

Тема в разделе "WASM.NT.KERNEL", создана пользователем hybrid, 13 окт 2007.

  1. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    Здравствуйте, уважаемые. Нужна помощь, чтобы окончательно не сломать моск... Заранее прошу прощения, если несколько криво сформулирую вопрос.
    Есть задача мониторить сетевой трафик. Накидал NDIS фильтр, пробный так сказать. Но во-первых, он в лог пишет вообще все, что можно, а мне нужно конкретно только HTTP, FTP, SMTP и POP3. Далее почитал вот это:
    http://blogs.gotdotnet.ru/personal/maxim__s/default.aspx?date=2005-01-31
    постучал полушариями друг об дружку - ни к какому выводу не пришел... Опыта маловато, с NDIS и TDI не работал практически. Так вот собственно вопрос: посоветуйте как грамотно спроектировать сие, т.е. на основе чего лучше сделать? И если на NDIS совместно с TDI:

    *Второй недостаток - нет средств отображения номеров портов из пакетов на номера процессов. Ну вот ради этого и можно маленький и простенький TDI фильтр, который фильтрует только и исключительно CREATE и разбирается там в addressing info. Вот только транспорт данных не надо трогать на уровне TDI. Бо-бо будет.*

    то как данные от этих 2-х частей, скажем так, засинхронизировать, что ли....
    Заранее спасибо...

    P.S. я не хочу получить готовое решение, хотел бы чтобу меня ткнули, что называется, в нужном направлении..
     
  2. Denwer

    Denwer New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2006
    Сообщения:
    104
    Все же если мониторить траффик, да еще и по процессам, лучше это сделать на TDI уровне. NDIS необходим канчено при фильтровании входящего траффика, что бы не пропустить на TDI уровень даже. Если бы нужен был ОБЫЧНЫЙ(только коеннктами занимается, без процыессов)фаервол, то можно канечно и NDIS использовать. Но тут, если будешь делать NDIS + TDI, а TDI только для того что бы знать от какого процесса пришол пакет, то еще и будут накладные расходы, т.е. еслив TDI отпределил процесс, то уж там же и контролирй траффик.
     
  3. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    хмм... тогда некоторое уточнение: сия приблуда по идее должна работать на всём))) - 2000, XP, Vista. Ну, естественно не одна и таже, но алгоритм должен быть один. Это возможно с использованием TDI?
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    AFAIR на Vista не будет с TDI работать.
     
  5. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    хмм... обнадеживает.... что посоветуете?
     
  6. Denwer

    Denwer New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2006
    Сообщения:
    104
    Будет работать - 100 процентов
    Если только не хукать мажорные функции, а сделать аттач.
     
  7. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    2 Denwer
    а с этого места подробнее можно? Ну или ткнуть чито посмотреть?
     
  8. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    Подробнее я имел ввиду про аттач...
     
  9. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    http://tarasc0.blogspot.com/2007/07/tdi-vista.html
     
  10. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    пасиб, буду пробовать...
     
  11. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    Но тут надо учесть, что в висте TDI существует так сказать "на птичьих правах", т.е сделано все, чтобы можно было безболезненно отказаться от его использования. Достаточно волевого решения :)). И есть большая вероятность, что в следующих версиях windows от него все же избавятся, как и обещают сейчас в документации: "TDI will not be available in Microsoft Windows versions after Windows Vista". Или по крайней мере оставят только legacy совместимость, без возможности фильтрации. Учитывая, что по оптимистичным прогнозам следующая реинкарнация Windows ожидается в 2009-2010 годах, может быть имеет смысл для проектов в стадии стартап отказаться таки от использования TDI. Но пути MS неисповедимы :dntknw:.
     
  12. hybrid

    hybrid New Member

    Публикаций:
    0
    Регистрация:
    2 авг 2007
    Сообщения:
    42
    Ну во-первых, вся проблема в том, что именно фильтрация мне и не нужна. Мне нужен монитор. И пока кроме TDI ничего порядочного не нашел/не присоветовали... Про TDI в Vista - почитал... настроение, ессно, не поднялось... но как-то делать все равно надо(((.