访问pcap文件头

时间:2012-02-08 12:11:22

标签: c networking pcap libpcap

是否有任何用于检索pcap文件头的功能,还是手动完成(类型转换)?

2 个答案:

答案 0 :(得分:0)

pcap文件头由libpcap在内部处理。您不必手动操作它。

您可以使用pcap_dump_open打开一个pcap文件进行书写。

您可以使用pcap_open_offline打开一个pcap文件进行阅读。

答案 1 :(得分: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或更高版本时。