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 , 01-Апр-05 11:47 
Чтоб вообще ходить по 99 порту надо после обработки запихивать пакетики обратно, очень рекомендую сначала посмотреть исходник natd - там все написано понятным и доступным языком )