Существует ли "цивилизованный" (т.е., более менее стандартный) спсоб позволяющий временно ограничить доступ определенному процессу к сети? Первое, что приходит в голову - написать фильтр драйвер к сети, но это, судя по всему нетривиально. Может есть более простое решение?
Цивилизованным такой вариант назвать никак нельзя Нужно внедрится в чужой процесс, патчить функции. Антивирусы естественно начнут ругатся.
а то на драйвер они не будут ругаться))) антивирусом (они обычно всместе с HIPS идут) и ограничить можно.
katrus есть два подхода: - TDI filter - NDIS intermediate dirver В первом случае ты видишь потоки (т.е. TCP соединения) и можешь сделать drop/forward. Во втором просто пакеты, но зато их можно менять как хочешь. Тебе, похоже, нужен именно первый вариант. Кода, кста, полно и инете.
To barton может человеку и не нужно вимты поддержку =) To katrus как с LSP дела? Если не сложно как сделаешь скинь простенкий код LSP самого и установщика этого LSP. Тема вообще жеская я так до конца и не разобрался, а хотелось бы. Если что в личку пиши =)
Млять, первый пост говорит совсем о другом, чем заголовок темы... ппц... Кароче хукай функи сокетов, раз уж смысл об блокировки/Фильтрации какогото процесса, а не всего что юзает сеть...
мне тоже очень интересны результаты експериментов с ЛСП что он умеет, чего не умеет, видит ли он самбу и рпц? микрософтовский сэмпл тупо убил весь стек - пришлось репарить зы: я фильтрацию _и_шифрование_ трафика для определенных процессов решаю на уровне ндис
LSP - это ад. Ни один пример из MSDN не работает. Адски глючная вещь. Может я конечно тупею, но за 3 месяца с человеком мы сделать фильтр (полностью работающий и безбажный) не смогли.
зарелизим продукт - берите его драйвера, дизассемблируйте, изучайте, делайте так же у себя не надо искать легких путей '