2012-02-08 6 views

ответ

0

Какую информацию вы пытаетесь извлечь из заголовка файла?

Вы можете получить основную и второстепенную версию с pcap_major_version() и pcap_minor_version(), длиной снимки с pcap_snapshot() и типом канального уровня с pcap_datalink(). Нет гарантии, что точность смещения часового пояса и метка времени действительны (libpcap устанавливает как 0). Также обратите внимание, что libpcap 1.1.0 и более поздние версии могут читать файлы pcap-ng, у которых есть заголовок файла pcap.

Libpcap не предоставляет никаких процедур непосредственно передать вам заголовок файла, и ничего, что вы могли бы напечатанный, чтобы быть заголовок файла не поставить, так что вы не можете сделать это с Libpcap. Если вы хотите прочитать заголовок файла, вам придется написать свой собственный код в заменить libpcap, и этот код не сможет обрабатывать, например, файлы pcap-ng (который будет типом файла по умолчанию в следующий выпуск Wireshark), в отличие от кода, который использует libpcap (который может читать файлы pcap-ng, если все сетевые интерфейсы в файле pcap-ng имеют одинаковый тип заголовка и длину снимка, когда они используют libpcap 1.1.0 или новее).

0

Заголовок файла pcap обрабатывается libpcap внутренне. Вам не придется вручную манипулировать им.

Вы можете открыть файл pcap для записи, используя pcap_dump_open.

Вы можете открыть файл pcap для чтения, используя pcap_open_offline.

+0

Если в случае, если мне захотелось прочитать заголовок файла, тогда я должен набросить обработчик файла на структуру заголовка файла? @sander – user1192671

+0

@ user1192671: это немного сложнее, чем это (в начале файла есть волшебное число, которое нужно интерпретировать, например.). Но вы можете проверить реализацию 'pcap_fopen_offline', чтобы узнать, как читать заголовок файла pcap. libpcap является открытым исходным кодом. –