9

我有两个 PCAP 文件,AB.

A在 的标题中有一个“幻数”,在 的标题中d4 c3 b2 a1B一个“幻数” 4d 3c b2 a1。根据 wireshark 文档(http://wiki.wireshark.org/Development/LibpcapFileFormat),只有0xd4c3b2a10xa1b2c3d4是有效的幻数,这让我认为 B 不是有效的幻数。

file在 linux 上运行支持这一点,输出为file A

tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 65535)

file B简单地给出:

data

看起来无论写B什么都以“交换”(小端)格式写它,但是用半字节错误地写了 forst twp 字节。鉴于我希望一个大端系统以相反的方式写入整个 int32 而不是单个字节,从而给出1a 2b 3c 4d.

B有效文件吗?如果是这样,为什么?不同的系统可以以任意顺序在一个字节中写入 32 位整数和单个半字节吗?

4

1 回答 1

12

幻数为“0x4d3cb2a1”和“0xd4c3b2a1”的 PCAP 文件有什么区别?

幻数为 0xa1b23c4d 或 0x4d3cb2a1 的 pcap 文件是一个 pcap 文件,其中数据包时间戳以秒和纳秒为单位。

幻数为 0xa1b2c3d4 或 0xd4c3b2a1 的 pcap 文件是“常规”pcap 文件,其中数据包时间戳以秒和微秒为单位。

你从哪里得到文件B?以“纳秒分辨率”格式写入文件的唯一标准版本的 libpcap 是 libpcap Git 树的主干上的版本,并且只有在使用 libpcap 的程序正在读取另一种“纳秒分辨率”格式或明确请求时才会发生这种情况来自网络适配器的纳秒分辨率时间戳(目前仅在 Linux 上受支持,并且可能需要足够新的内核)。这也是唯一可以读取它们的版本。默认情况下,Wireshark 不会生成它们,尽管最新版本的 Wireshark 可以读取它们。

于 2013-07-29T19:28:58.920 回答