【发布时间】:2013-07-30 06:33:36
【问题描述】:
我有两个 PCAP 文件,A 和 B。
A 在d4 c3 b2 a1 的标头中有一个“幻数”,B 在4d 3c b2 a1 的标头中有一个“幻数”。根据wireshark文档(http://wiki.wireshark.org/Development/LibpcapFileFormat),只有0xd4c3b2a1和0xa1b2c3d4是有效的幻数,这让我认为B不是有效的幻数。
在 linux 上运行 file 支持这一点,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 位整数和单个半字节?
【问题讨论】:
标签: endianness pcap