代码之家  ›  专栏  ›  技术社区  ›  Rich Henry

为什么我的ath9k生成的RadioTap头看起来格式不正确?

  •  7
  • Rich Henry  · 技术社区  · 9 年前

    我正在Ubuntu 16.04(4.4内核)上使用scapy收集802.11数据包。我的数据包的RadioTap标头具有以下当前标志:

    present=TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
    

    考虑到RadioTap的描述,我希望Channel从标头和前面字段后面的第10个字节开始(TSFT为8,Flags和Rate各为1)。通道的对齐方式为2,因此不需要填充。然而,这就是数据包未编码部分的内容:

    notdecoded=' \x08\x00\x00\x00\x00\x00\x00f\xc0 \x02\x00\x00\x00\x00\x10\x02l\t\xa0\x00\xa9\x00\x00\x00\xa9\x00' 
    

    在这种情况下,信道号实际上出现在字节18-19('l\t'=2412),不确定哪个字节包含dBm信号强度。

    有人知道我缺了什么吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Rich Henry    9 年前

    在深入研究规范后找到了答案:

    Scapy无法解析 扩展标头 如所示 第32位 (尽管它确实告诉了我关于他们 +分机 上文)。这些额外的标题被塞进数据包的“未解码”部分的前面。我认为scapy至少应该删除未解码的扩展头,以避免将来的混淆。

    在这种特殊情况下,有两个额外的32位扩展位图头,占额外的8字节。

    如果有人想写一个更详细的答案,我会接受它,否则我会清理这个答案,永远接受它。

    推荐文章