Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Aragaer
Зарегистрирован: 28.03.2005 Сообщения: 164
|
Добавлено: Чт Июн 23 2005 19:14 Заголовок сообщения: сетевая подсистема линукса |
|
|
Штудирую исходники и никак не могу понять:
На сетевом уровне мы определили, по какому пути необходимо отправить данный пакет. На транспортный уровень пакет приходит с уже прописанным маком для первого хопа. Но я никак не могу найти, в каком именно месте этот мак туда пишется. Если на сетевом уровне - не рано ли? Если ниже, то тогда как туда сообщить сам маршрут?
Ну или проще - в какую часть сетевой подсистемы надо закидывать пакет, чтобы об этом не мучаться? _________________ Open your eyes.
And Awaken. |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Июн 24 2005 00:00 Заголовок сообщения: |
|
|
Закидывай в сокет. |
|
Вернуться к началу |
|
|
Aragaer
Зарегистрирован: 28.03.2005 Сообщения: 164
|
Добавлено: Пт Июн 24 2005 00:11 Заголовок сообщения: |
|
|
Если бы речь шла о приложении, работающем в пространстве пользователя - да не вопрос. Но нужно это все делать из ядра.
Более того, в сокете у нас фиксирован порт. А надо посылать пакет именно с теми портами источника и получателя, котоыре указаны в нем в _данный_ момент. Другими словами - на сетевом уровне пакет уже полностью сформирован, его осталось пропустить через маршрутизирующий код. И чтобы ни один кусок сетевой подсистемы не попытался исправить заголовок сетевого уровня так, как сочтет нужным. _________________ Open your eyes.
And Awaken. |
|
Вернуться к началу |
|
|
Aragaer
Зарегистрирован: 28.03.2005 Сообщения: 164
|
Добавлено: Пт Июн 24 2005 11:56 Заголовок сообщения: |
|
|
Почти нашел. Осталось взять и проверить.
http://www.phrack.org/show.php?p=55&a=12
(вторая программа, подпрограмма bounce_and_send)
Вручную прописывается mac-адрес прямо в заголовок, после чего вызывается dev_queue_xmit - пакет выкидывается в исходящую очередь нужного устройства. В общем случае, мы должны сами понять, в какое устройство отправлять и какой мак прописывать. Либо честно использовать маршрутизирующий код. _________________ Open your eyes.
And Awaken. |
|
Вернуться к началу |
|
|
|