是否有任何函数可以检索 pcap 文件头,还是手动完成(类型转换)?
最佳答案
您想从文件头中检索什么信息?
您可以使用 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 文件中的所有网络接口(interface)都具有相同的链路层 header 类型和快照长度,当他们使用 libpcap 1.1.0 或更高版本时)。
关于c - 访问pcap文件头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193077/