我在这里和在 Google 上读了很多关于 802.11 帧的文章,但有些内容不对劲。
这是我使用 ESP12 WiFi 扫描时看到的
Byte 00-11 : a7 10 75 50 00 00 00 00 00 00 0c 00
Byte 12-15 : 40 00 00 00
Byte 16-21 : ff ff ff ff ff ff
Byte 22-27 : 2a b9 ce e3 71 07
Byte 28-end: ff ff ff ff ff ff 70 0a 00 00 01 04 02 04 0b 16 32 08 0c 12 18 24 30 48 60 6c 03 01 0b 2d 1a ad 01 13 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f 0a 04 00 0a 82 00 40 00 40 80 01 bf 0c 92 f9 91 33 fa ff 0c 03 fa ff 0c 03 dd 07 00 50 f2 08 00 24 00 ff 03 02 00 01 00 75 00
(我认为它在消息前添加了 12 个字节,但如果我从那里开始,我会得到正确的顺序)
当我查看 wiki 802.11 框架结构页面时,我可以看到:
地址1是ff:ff:ff:ff:ff(字节字节16-21)
2a:b9:ce:e3:71:07 中的地址2(字节22-27)
帧控制是 40 00(字节 12-13),如果我理解正确的话,它是一个“探测请求”
但顺序没有意义,因为 40 00 是 --> 0100 0000 0000 0000
在 Wiki 中它的意思是:
- 版本:01
- 类型:00
- 子类型 :0000
我的逻辑有什么问题?
另外,Android 8 和 Android 5.1 之间有什么不同吗?请求不一样?
因为当我“嗅探”android 5.1设备时 - 我可以看到它“在空中”,而当我“嗅探”android 8设备时,我看不到它
(我知道我正在搜索的两个设备的 MAC 地址)
谢谢 ,
答案1
不,你理解错了。Subtype0000
是 aAssociation Request
而不是 a prove request
(不管 aprove request
是什么,我认为你实际上指的Probe Request
是 Subtype0100
见这里)。
如果Frame Control
是40 00
或者0100 0000 0000 0000
它读起来像这样:
Bit 00-01: Version = 01
Bit 02-03: Type = 00 => Management
Bit 04-07: Subtype = 0000 => Association Request
Bit 08-Rest: 8 differenet Flags = 0000 0000
问题的“第二部分”(为什么看不到框架)与第一部分(框架的内容)没有任何关系。这可能有多种原因(这里需要更多信息),您应该将其放入另一个问题中。有关 Android 的问题(不同版本中如何实现 WLAN)超出了 Superuser 的范围,您应该选择适当的 StackExchange 网站。