URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4120
[ Назад ]
Исходное сообщение
"Divert - сокеты !!!!!!!!!!!!!!!!!! HELLLPPPP"
Отправлено ForceMan , 01-Апр-05 09:11
Приветствую всех!
Помогите мне разобраться, как с помощью divert сокетов в FreeBSD осуществить перехват пакетов.
Не могу понять, каким образом они все-таки работают. В общем я делаю так:
1. добавляю правило в firewall: divert 100 from any to any 99
2. в программе создаю сокет socket(AF_INET, SOCK_RAW, IPPROTO_DIVERT)
3. биндю его к порту 100
4. начинаю прослушивать
while(1)
recvfrom(...)
5. в телнете пытаюсь подконнектиться на адрес 127.0.0.1 по 99 порту
не могу (что вполне логично)
Я не могу понять следующее: если у меня идет перехват пакетов, то как узнать перехватил ли я пакет или нет? И как тогда вообще можно законнектиться на какую-нибудь машину на 99 порт
Мне нужно перехватывать траффик на 99 порту, читать данные из этих пакетов и отправлять их с измененными заголовками и данными
Содержание
- Divert - сокеты !!!!!!!!!!!!!!!!!! HELLLPPPP,EL, 11:47 , 01-Апр-05
Сообщения в этом обсуждении
"Divert - сокеты !!!!!!!!!!!!!!!!!! HELLLPPPP"
Отправлено EL , 01-Апр-05 11:47
Чтоб вообще ходить по 99 порту надо после обработки запихивать пакетики обратно, очень рекомендую сначала посмотреть исходник natd - там все написано понятным и доступным языком )