Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Перенаправление пакетов конкретной программы


Автор: Router 7.1.2009, 17:12
Нужно написать программу, через которую запускаются другие программы,
с перехватом их трафика.

Суть работы в следующем:

- я запускаю свою программу
- указываю ей какую либо другую программу
- все пакеты этой программы идут в мою программу
- а потом я могу их перенаправлять, например на свой прокси

При этом пакеты больше не куда не могут попасть кроме как в мою программу.

Подскажите что нужно использовать, и что нужно знать. статьи (ссылки).
Windows XP / Microsoft Visual Studio 2005 / C++

Автор: REZiaMIX 8.1.2009, 11:16
Вариант 1 , перехват recv/send/WSARecv/WSASend -> google "перехват api"
Вариант 2 , прокси-сервер : подойдет не всегда , но для определенной программы может выйти легче , чем пункт 1
Вариант 3 ,  все так любят советовать эти извращеные способы: написание брандмауэра(на уровне ndis) и т.д.

Думаю первый вариант самый легкий в исполнении , и подойдет для множества программ.
Второй вариант будет легче , но не любую программу можно настроить на использование прокси.
Третий вариант - не оправдывает затрат.

Ну можно еще добавить создание виртуальной сетевого интерфейса, но с этим не сталкивался - тут я не советник.
Да и скорее опять же не оправдает способ себя.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)