c - 访问pcap文件头

标签 c networking pcap libpcap

是否有任何函数可以检索 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/

相关文章:

c - 如何确定同一 iOS 设备上对等 TCP 连接的 PID?

c - 从文件中读取字符串和整数

python - 接受争论

c - 如何在函数静态中保持值数组?

android 无法以编程方式连接到 wifi 网络(几秒钟后掉线并返回到上一个)

ubuntu - 在 apt-get update 上得到 'NOSPLIT'(网络是否需要身份验证?)

sockets - “ab”程序在收到大量请求后卡住,为什么?

c - 我询问有关 pcap 库的信息(没有看到任何有关数据的信息。)

bash - 如何在仍在写入的同时连续读取 pcap 文件?

c++ - ifstream 不读取想要的值