raw-сокеты и фрагментация

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Цукертот
Сообщения: 1
Зарегистрирован: 04 апр 2004, 19:20

Добрый день, господа. У меня есть несколько вопросов, с которыми я хотел бы обратиться к вам.

1) Не подскажете примеры программ, использующих raw-сокеты, или ссылки, где их можно найти? Также, если вы знаете хороший учебник именно по таким сокетам, подскажите, где его можно найти :)

2) Ситуация: теоретически есть скрытый канал, связанный с фрагментацией пакетов. Он может быть построен следующим образом: при фрагментации исходного пакета (без скрытой информации) в поле данных отдельных фрагментов, начиная с некотрой позиции (можно даже и с самого начала поля), вместо данных содержащихся в фрагментируемом пакете помещаются данные, которые необходимо скрыто передавать. А последующие фрагменты формируются таким образом, чтобы заключительный фрагмент полностью перекрывал часть данных, которые были подменены, и содержал "правильные" данные. Постараюсь представить это графически:

a|xxxxx|xxxxx|...|xxxxx|xxxxx| - исходный пакет, а - заголовок, ххх - фрагменты.

a|xxxxx|yyy первый фрагмент, у - скрытые данные, длина фрагмента определяется MTU.
b|xxxxx|yyy второй фрагмент

Обычный, "чистый" модуль IP при приеме таких пакетов лишние данные просто отбросит. Я же хочу попытаться сделать такой модуль, который бы извлекал "лишние" данные и сохранял их.

Или, еще вариант, есть такая возможность: отправка перед фрагментом с частью исходных данных нескольких фрагментов той же длины и с таким же значением поля смещения, но с полем данных, полностью заполненным "скрытой" информацией.

Модуль IP, модифицированный, затем можно подключить к модульному ядру Unix\Linux.

Я обращаюсь за помощью, потому что сам пока не могу похвастаться успехами в программировании модулей. Если кто-то из вас сможет помочь - помогите пожалуйста.
Почтовый ящик, на всякий случай - rim6mir@mail.ru.
Ответить