电子说
Beacon帧为周期间隔发送,虽大部分路由器将其间隔时间默认设置100ms(近似值),但路由器可以将其值配置更大。仅依赖“被动扫描”,WiFi设备在扫描过程中,存在漏掉发现周围WiFi网络的情况。因此,为了提高设备发现WiFi网络的能力,有了基于Probe Request和Probe Response帧的“主动扫描”。本节接下来分析“主动扫描”。
好。下面我们看下“主动扫描”的抓包交互流程。
[场景1]:
[场景2]:
通过以上可知,Probe Request帧可以被用作单播或广播帧进行扫描请求。接下来我们就看“主动扫描”依赖Probe Request和Probe Response帧的格式内容。
Probe Request和Probe Response帧都为管理帧,符合管理帧通用定义格式:802.11 MAC Header + Frame Body + FCS,如下:
802.11 MAC Header字段与Beacon帧一致,这里不再赘述,可参考【WiFi基础学习到实在(五)】。
在开始讨论Probe Request和Probe Response帧Body内容前,留个问题“WiFi设备每次连接WiFi网络前,已扫描到该WiFi网络,为什么还要通过发送Probe Request单播帧,做一次与路由器的交互呢?”
好,接下来我们探讨抓包中Probe Request帧的Body内容,如下图所示。
Probe Request帧Body内容只包含元素(Elements)。作为Probe Request帧,它的主要目的是触发路由器给其回复Probe Response帧,发送的内容越短,占用信道资源越少,效率越高。因此,Probe Request帧只携带一些必要的内容信息。
[1]SSID Element:
表明扫描的目标网络SSID。如Probe Request为广播帧,隐藏网络的网络名称与之相同,将会通过Probe Response回应。而网络名称不相同的网络,则不回应。
注:
Probe Request为广播,SSID Element字段长度为0或不包含SSID List element。则所有非隐藏网络则收到后,回复Probe Response,隐藏网络则不回应。
[2]Supported Rate和Extended Supported Rate Element:
表明扫描设备支持的速率集,路由器收到后,选择其一种支持的速率发送Probe Response帧。
[3]DSPS Element:
表明当前Probe Request帧在那个信道上扫描发送。
[4]HT Capability Element:
表明WiFi设备支持802.11n,是一个HT设备。
注:
注:协议规范【原文】
In an infrastructure BSS or in an IBSS, STAs receiving Probe Request frames shall respond with a probe response when the SSID in the probe request is the wildcard SSID or matches the specific SSID of the STA or when the specific SSID of the STA is included in the SSID List element.
以上Element详细解释可参考【WiFi基础学习到实战(六)】。
发送Probe Request帧,触发接收者回复Probe Response帧,从中获取当前WiFi网络的信息能力。
接下来我们分析Probe Response帧的内容,如下图所示Beacon帧和Probe Response帧的Body内容:
Probe Response帧Body内容分为:字段(Fields)和元素(Elements)。其Body内容和对应路由器发送的Beacon帧一致,Body内容解释可参考【WiFi基础学习到实战(五-六)】。
这里我们分析下Probe Response帧Body内容可能存在与Beacon帧不同点。
Probe Response帧主要是将WiFi网络的信息能力主动的反馈给请求设备。请求设备通过其Body内容了解当前WiFi网络的状态。
到这里,我们对Probe Request和Probe Response帧的探讨就结束了,现在回到我们开始的问题“有些WiFi设备连接WiFi网络前,已扫描到该WiFi网络,为什么还要通过发送Probe Request单播帧,做一次与路由器的交互呢?”。
答:WiFi设备连接前做Probe Request请求,一是获取当前WiFi网络的加密方式,为接下来的认证关联做准备;二是获取WiFi网络的TSF,更新校准本地的TSF。
注:协议规范【原文】
A non-DMG STA’s TSF timer shall be accurate to within ± 100 ppm. A DMG STA’s TSF timer shall be accurate to within ± 20 ppm.
全部0条评论
快来发表一下你的评论吧 !