2015-10-21 2 views
0

Я пытаюсь создать программу, способную читать файлы pcap.Как получить информацию о пакете с pcap в c

с функциями pcap_open_offline и pcap_next_ex, я смог получить некоторую информацию, такую ​​как заголовок пакетов и данные.

Но в этом файле есть способ получить подробную информацию, как протокол, IP-адрес источника, IP назначения, и т.д. ...

Во-первых, я полагаю, это информация в «Данные» части, в шестнадцатеричном я прав ?

Есть ли способ, без использования jnetpcap, получить информацию? Должен ли я создать функцию, способную конвертировать hexa в читаемые данные? Возможно ли это?

ответ

0

Но в этом файле существует больше информации, как протокол, IP-адрес источника, IP назначения, и т.д. ...

Во-первых, я полагаю, это информация в «Данные» части, в hexadecimal, я прав?

Нет, это в заголовке.

Есть ли способ, без использования jnetpcap, получить эти сведения?

Разбор заголовков. libpcap предлагает для этого несколько вспомогательных макросов; см. официальный документ на http://www.tcpdump.org/pcap.html.

+0

Не заголовок, который содержится в структуре pcap_pkthdr? Который содержит только метку времени, длину и длину захвата? – Charrette

+0

@Charrette: мы говорим о разных типах заголовков! Конечный пункт, источник и порты, конечно, находятся в * IP-заголовках *. –

+0

Да, но где же заголовок IP? Должен быть один в каждом пакете, который я получаю, когда я правильно открываю свой файл pcap? – Charrette

Смежные вопросы