理解802.11帧结构和Android探测请求的不同?

理解802.11帧结构和Android探测请求的不同?

我在这里和在 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 Control40 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 网站。

相关内容