LINUX.ORG.RU

Сообщения spopov

 

работа с ip-пакетами

Форум — Development

Здравствуйте!

Пишу программу, которая должна заменять большой ip-пакет, исходящий с компьютера на несколько меньших определенного размера. В случае же, когда размер пакета слишком мал, дополнять его мусором.

1) Если писать модуль ядра и работать со структурами sk_buff, то получается не сильно переносимо на новые версии ядра и не очень удобно. К тому же глупо работать с sk_buff, чтобы собрать из них ip-пакет, когда он только что на них был разбит.

2) Если использовать библиотеку libipq для работы с iptables, то, как я понимаю, получаешь только первый ethernet фрейм, относящийся к ip-пакету. По нему надо решать, отбросить пакет или нет. Остальные фрагменты пакета в userspace не передаются. Этот вариант тем более не подходит, так как надо работать с ip-пакетом целиком.

Итак, вопрос, как получить доступ к ip-пакету в тот момент, когда он еще не фрагментирован на ethernet фреймы? Или подскажите, пожалуйста, библиотечку, которая умеет выдавать исходящие с компьютера (да подойдут и входящие) ip-пакеты целиком.

Спасибо!

spopov
()

RSS подписка на новые темы