LINUX.ORG.RU

Дамп пакетов в файл


0

0

А подскажите пожалуйста, как в программе на С правильнее всего данные, приходящие из TCP-сокета, дампить в файл формата tcpdump.

Поможет ли здесь libpcap?

Пинните меня в правильном направлении, а то от обилия информации уже голова пухнет.

Может быть есть какие-нибудь примеры?

anonymous

tcpdump разьве анализирует TCP сокеты, он анализирeет пакеты канального уровня, например кадры ethernet.
Так что если дампитm что то из сокета, то наврядли tcpdump сможет что то там прочитать.

Файл формата tcpdump программа tcpdump формирует сама и сама же его потом читает. Так что чтобы узнать этот формат нужно смотреть исходники tcpdump.

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

По идее, кадры канального уровня можно сформировать самому и класть в дамп?

Я прав?

anonymous
()

man socket ключевое слово PF_PACKET & SOCK_RAW

anonymous
()

По моему там сохраняются просто RAW пакеты уровня TCP/IP, которые он принял. Во всяком случае, я их там находил, причем вроде как без какого-либо еще обрамления (типа ethernet и т.д.).

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

anonymous (*) (27.10.2006 12:38:39), kpanic,

Спасибо, щас поробую

anonymous
()

>Поможет ли здесь libpcap?

tcpdump как раз и использует libpcap.

man 3 pcap

в частности pcap_dump_open и pcap_dump

Eshkin_kot ★★
()

Сам формат libpcap - очень простой (google it). Мне в свое время даже не пришлось никаких библиотек использовать - сам написал, т.к. там писать нечего :-)

Дампить пакеты tcp конечно можно, но вместе с заголовками ip-пакетов, т.е. фактически не tcp дампить - а ip.

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