【发布时间】:2019-05-07 20:08:59
【问题描述】:
我正在使用 802.11 radiotap header 制作我自己的解析器,它指出数据包格式是这样的,其中长度为 2 个字节长:
在 wireshark 中,标头的十六进制是这样的,其中 2 个字节 19 00 是长度字段,但wireshark 忽略尾随的 00 并将其解释为长度 25(十进制)而不是长度 6400(十进制):
wireshark(正确)如何知道正确解释数字?
上面的链接说长度存储在小端,我的系统是小端,所以我不确定这方面发生了什么?
【问题讨论】:
-
“网络字节顺序”对您来说意味着什么吗?
ntohs()等等 -
这不仅仅是wireshark。标准网络数据包以网络字节顺序对数据进行编码。您对规范的解释是错误的。是大字节序(网络字节序),不是小字节序
-
@slebetman 链接的规范页面实际上说“radiotap 标头中的所有数据字段......都将以小端字节顺序指定”。 (也许是一个奇怪的设计选择,但你必须遵循文档。)
-
请勿发布图片。始终以文本形式发布所有内容。
标签: c wireshark libpcap packet-capture wifi