LINUX.ORG.RU

Перехват и модификация проходящих пакетов

 , network-programming,


0

1

Короче говоря, есть две машины (сервер + клиент), есть железка, через которую они соединены. На железке линуксовая прошивка.
Нужно написать программу для железки, которая перехватывала бы проходящие пакеты от этих двух машин друг к другу и модифицировала их при необходимости, делая все это как бы неявно для сервера и клиента.
Пытался поднять рав сокет на железке, пакеты приходят, но не перехватываются, а идут дальше (как я понимаю, они просто копируются). Нужно же именно «выдернуть» пакет, проанализировать, опционально поправить, послать дальше к месту назначения.
Советы? Рекомендации?
Заранее благодарю.

Ответ на: комментарий от kombrig

Да, по сути своей очень похоже, но куда копать - я без понятия.

cherry_boy
() автор топика

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

aiqu6Ait ★★★★
()

пакеты приходят, но не перехватываются, а идут дальше (как я понимаю, они просто копируются).

Там настроен мост или форвардинг пакетов?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от cherry_boy

Но я завтра проверю, чтобы точно ответить.

cherry_boy
() автор топика
Ответ на: комментарий от cherry_boy

Насколько помню, там мост.

Ну так убери его 8).

Deleted
()

Короче, умные люди посоветовали написать модуль для ядра, работающий напрямую с sk_buf. Так и поступлю, но все равно всем спасибо.

cherry_boy
() автор топика

Решение

Таки написал модуль для ядра, использующий netfilter и сбрасывающий нужные мне пакеты в юзерспейс (в netfilter_queue, если быть точным), а там уже приложение обрабатывает очередь сообщений и решает: дропнуть пакет, пропустить или поправить по своему усмотрению.

cherry_boy
() автор топика
5 июля 2013 г.
Ответ на: Решение от cherry_boy

Не мог бы поделиться исходниками модуля и приложения? Можно без специфичного функционала обработки. У самого есть пару идей по уэрчению обработке траффика.

Demacr ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.