2013-05-30 6 views
0

Мне нужно захватить сетевой трафик, который поступает в/из определенного приложения. Основная проблема заключается в том, что я хотел бы сделать это в блокирующем режиме, то есть захватить трафик, выполнить некоторый анализ и шифрование/дешифрование на нем, а затем переслать его по его регулярному маршруту. Поэтому он должен использовать какой-то механизм блокировки.Захват и пересылка сетевого трафика из определенного приложения в Windows

Есть ли какой-нибудь код или библиотека, которая делает это легко сделать в Windows (Server 2008 или Win7 будет делать)? Любые классы или библиотеки C++ (или Python/Java), которые уже существуют?

Я намереваюсь, чтобы решение также выполнялось на той же машине, что и целевое приложение, и имело административные привилегии.

Любые указатели на образцы кода были бы весьма полезны.

Благодарим за помощь.

p.s .: Я смотрел WinPcap, но из моего (ограниченного) понимания он не может фильтровать/блокировать на основе конкретных приложений. Это правильно, или я что-то пропустил? Есть ли другие решения?

ответ

0

Для этого вы должны посмотреть WinDivert. В отличие от обычных пакетных снифферов (например, winpcap), WinDivert также имеет возможность устанавливать пакеты block/filter, так что это может быть то, что вы ищете. Раскрытие информации: WinDivert - это мой собственный проект.

Смежные вопросы