在解释PCAP文件时,应检查第一个4 bytes of the global header, known as the magic number.

如果幻数等于0xA1B23C4D或0xA1B2C3D4,则所有多字节值(Int16,Int32,UInt16,...)首先具有MSB,如果幻数等于反向(例如0xD4C3C2A1),则所有多字节值都具有LSB优先 .

到现在为止还挺好 . 当我读取第一个数据包时,它似乎是一个以太网数据包 . PCap Ethernet Format definition

以太网数据包具有6字节的目标MAC地址,6字节的源MAC地址和2字节的类型长度字节 . 根据格式定义,该值已从长度字段演变为类型字段 .

如果类型字段的值为0x8100,则认为它是VLAN type,if之后的值是4字节的VLAN标记和用户数据 . 4字节VLAN标记按位编码

Question :我应该将4字节VLAN标记视为4个独立字节,还是将其视为一个32位数?换句话说:如果幻数告诉我所有值都反转,我应该反转32位数,还是将它们视为4个单独的字节 .

类似地:16位类型字段被视为一个16位数字,是否应该遵循幻数所描述的相反顺序?