Блокировка трафика

Тема в разделе "WASM.NETWORKS", создана пользователем Charliee, 16 ноя 2009.

  1. Charliee

    Charliee New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2009
    Сообщения:
    15
    Здравствуйте
    Нужно создать скрытый процесс, который бы блокировал все соединения на машине, кроме некоторых портов и слушал один из портов на предмет команды "снять/установить блокировку". Я думал реализовать это с помощью драйвера-фильтра, сразу обеспечивается скрытость работы для пользователя. Но несовсем понятно,. С драйверами работать я только начал, поэтому возникли такие вопросы:

    * имеет ли вообще смысл писать для этого драйвер?
    * насколько я понял, копать нужно в сторону NDIS?
    * теоретически можно использовать WinPCap для такой фильтрации (догадки), но можно ли приспособить его быть скрытым? Ведь приложение, его использующее нужно прятать отдельно
    * как организовать прослушку/передачу/прием через соединение из драйвера (только общий принцип, я не прошу подробно рассказывать :) )? Или единственный выход - писать еще и user-mode приложение дополнительно? Была идея создать службу, это ведь почти user-mode драйвер. Но ее и выгрузить пользователю проще..
    Спасибо
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Да.

    Не обязательно. По сути, сойдёт любой фильтрующий механизм режима ядра.

    Ничего не понял, о чём речь.
     
  3. Charliee

    Charliee New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2009
    Сообщения:
    15
    x64
    Спасибо за ответ
    Драйвер этот должен слушать один из портов (если можно так выразится в терминах kernelmode) на поступление сигналов по сети на один из постоянно открытых портов (и в зависимости от них включать/снимать блокировку остальных портов). Какой механизм для этого можно (и нужно) использовать?
     
  4. Charliee

    Charliee New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2009
    Сообщения:
    15
    И еще такой вопрос - если нужно поставить такой фильтр на уровень ниже фильтров файерволлов - то есть что-то наподобие KIS не перенаправляло все соединения в обход моего фильтра,каким образом встроиться на "самый нижний уровень"?
     
  5. Charliee

    Charliee New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2009
    Сообщения:
    15
    Попробую перефразировать :)

    * В какую сторону копать, чтоб организовать взаимодействие с сокетами на удаленных машинах из драйвера, насколько я понимаю, в ядре понятие сокет недоступно, ведь это юзермодная надстройка. Насколько сложнее устанавлить соединения, отсылать и принимать данные в режиме ядра? Есть какие-то способы, кроме прямого обращения к драйверу сетевой карты (это все, до чего мне удалось додуматься). То есть, установить сетевое соединение из драйвера

    * Насколько я знаю, несколько программ могут устанавливать сетевые фильтры - всякие снифферы, касперские.. Можно ли как-то встроить себя на самый низкий уровень (чтобы через фильтр проходили все пакеты, не шли в обход моего фильтра)?
     
  6. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    ndis im или ниже
     
  7. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    легко
     
  8. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Ответ "легко" на вопрос "каким образом" выдаёт в тебе не совсем адекватного человека.
     
  9. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Опять же сойдёт любой фильтрующий механизм режима ядра, и TDI в том числе.
     
  10. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Это не проблема, если использовать TDI-клиента или (для Vista и выше) Winsock Kernel.

    Теоретически, да.
     
  11. Charliee

    Charliee New Member

    Публикаций:
    0
    Регистрация:
    15 ноя 2009
    Сообщения:
    15
    x64
    Большое спасибо за вашу помощь!

    И еще такой вопрос появился - вы не знаете где можно почитать про сетевую подсистему Windows 7 с точки зрения ядра? Сильно ли она изменилась по сравнению с Vista?
     
  12. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Принципиальных отличий нет, доработки только, ну вот DNS'ку прикрутили к сокетам наконец-то, etc. А читать в WDK, там же сэмплы.