Как сделать перехват, модификацию и перенаправление пакетов?
От: -DDMZ-  
Дата: 18.11.07 20:10
Оценка:
Начнем с того что я прогуглил весь день, и прогуглил данный форум но ответов ненашел...

Перехват с помощю хуков неподходит, хотя этот метод и позволяет изменять пакеты. Пытаюсь сделать подобие прозрачного прокси под виндовс.
Разобрал вдоль и поперек вариант снифера использующего SIO_RCVALL и RAWSOCKET, это позволило сделать перехват пакетов. Но я так и непонял каким образом можно с помощю этого метода изменить пакет, т.е. изменить его содержимое или изменить порт с адресом...
Отсюда вопросы:
1. Как убить перехваченый пакет? — т.е. снифер получил пакет, проанализировал, и принял решение что этот пакет недолжен дойти до места назначения...
2. Как модифицироват перехваченый пакет? — т.е. снифер получил пакет, проанализировал, и модифицировал содержимое после чего пакет в модифицированном виде отправляется к месту назначения. Я предпологаю(незнаю и неутверждаю) что это реализуется так: снифер перехватывает пакет, убивает, модифицирует и самостоятельно отправляет дальше. Либо наверное читает его не удаляя со стека как обычный снифер, и потом прям в стеке модифицирует, после чего пакет продолжает свое движение...
3. Как перенаправить перехваченый пакет? — т.е. изменить например адрес назначения пакета. Предпологаю что реализуется как и модификация, но навсякий случай интересуюсь.
4. Каким образом Traffic Compressor может так лихо перехватывать пакеты? — т.е. посути является прозрачным прокси, и пропускает все пакеты через себя...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.