LINUX.ORG.RU

с/c++, pcap, получение данных tcp пакета.

 ,


0

1

Разбираюсь с pcap и написанием сниферов, перехватывать и выводить в консоль tcp пакеты научился, не могу разобраться как обрезать заголовки пакетов, что бы остались только tcp данные. Первой мыслью было обрезать определенное количество байт в начале пакета но насколько я понял заголовки ethernet/ip/tcp не постоянной длинны. Есть что нибудь готовое и удобное?

★★★★★

есть wireshark и его консольный вариант tshark. Зачем тебе что-то готовое, если хочешь заняться сам написанием снифферов?

mashina ★★★★★ ()
Ответ на: комментарий от mashina

Под готовым я подразумевал какую нибудь библиотеку для работы с tcp пакетами.

Ущел читать про tshark и инфу от анонимуса.

TDrive ★★★★★ ()
Ответ на: комментарий от TDrive

да, я это понял. Просто разбор ip/tcp пакета с целью выдерания части с данными это порядка десятка строчек кода (почти что по ссылке на файл ниже), ничего сложного.

Но если нужно вырезать именно данные из tcp стрима, то задача сильно усложняется, можно посмотреть в tcpflow, там меньше всего чем в ws.

mashina ★★★★★ ()
Ответ на: комментарий от mashina

Но если нужно вырезать именно данные из tcp стрима, то задача сильно усложняется

Ты имеешь в виду то, что данные размазываются на несколько tcp пакетов?

TDrive ★★★★★ ()
Ответ на: комментарий от TDrive

да. ~ нужно знать куда какой кусок засунуть, проверять принадлежность пакета к нужному стриму и т.п.

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