Фильтрация сетевого трафика для определенного процесса

Тема в разделе "WASM.WIN32", создана пользователем katrus, 6 июн 2009.

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Существует ли "цивилизованный" (т.е., более менее стандартный) спсоб позволяющий временно ограничить доступ определенному процессу к сети? Первое, что приходит в голову - написать фильтр драйвер к сети, но это, судя по всему нетривиально. Может есть более простое решение?
     
  2. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    Как вариант перехватить важные сетевые функции и возвращать ошибки.
     
  3. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Цивилизованным такой вариант назвать никак нельзя :) Нужно внедрится в чужой процесс, патчить функции. Антивирусы естественно начнут ругатся.
     
  4. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    а то на драйвер они не будут ругаться))) антивирусом (они обычно всместе с HIPS идут) и ограничить можно.
     
  5. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    Отошли свой файл антивирусам и ругаться не будут, если это не малварь.
     
  6. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Придумал! Можно задействовать LSP.
     
  7. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    katrus есть два подхода:
    - TDI filter
    - NDIS intermediate dirver

    В первом случае ты видишь потоки (т.е. TCP соединения) и можешь сделать drop/forward. Во втором просто пакеты, но зато их можно менять как хочешь.

    Тебе, похоже, нужен именно первый вариант. Кода, кста, полно и инете.
     
  8. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Уже делаю с LSP. Так все-таки проще. Все равно спасибо!
     
  9. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Пробуй. Но, обычно, firewall движки используют TDI... Отпишись потом, заработало ли.
     
  10. saldatd

    saldatd New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2008
    Сообщения:
    10
    katrus
    дай ссылочку на доку, примеры.
    Спасибо.
     
  11. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    С TDI по-моему плохая идея, в висте же не юзается
     
  12. perdimonokl

    perdimonokl New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2007
    Сообщения:
    38
    To barton может человеку и не нужно вимты поддержку =)
    To katrus как с LSP дела? Если не сложно как сделаешь скинь простенкий код LSP самого и установщика этого LSP. Тема вообще жеская я так до конца и не разобрался, а хотелось бы. Если что в личку пиши =)
     
  13. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Замути как Кидо делает... хукай dnsapi.dll!DnsQuery_XXX функи и тупо возвращай ошибку...
     
  14. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Млять, первый пост говорит совсем о другом, чем заголовок темы... ппц...
    Кароче хукай функи сокетов, раз уж смысл об блокировки/Фильтрации какогото процесса, а не всего что юзает сеть...
     
  15. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    мне тоже очень интересны результаты експериментов с ЛСП
    что он умеет, чего не умеет, видит ли он самбу и рпц?
    микрософтовский сэмпл тупо убил весь стек - пришлось репарить

    зы: я фильтрацию _и_шифрование_ трафика для определенных процессов решаю на уровне ндис
     
  16. saldatd

    saldatd New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2008
    Сообщения:
    10
    z0mailbox
    Уважаемый, а примерчик NDIS'а рабочего подкинуть можете?
    Заранее благодарен.
     
  17. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    На уровне TDI должно быть полегче.
     
  18. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    LSP - это ад. Ни один пример из MSDN не работает. Адски глючная вещь. Может я конечно тупею, но за 3 месяца с человеком мы сделать фильтр (полностью работающий и безбажный) не смогли.
     
  19. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    зарелизим продукт - берите его драйвера, дизассемблируйте, изучайте, делайте так же у себя
    не надо искать легких путей ';)