STA接入无线网的过程主要有三个阶段:扫描、认证、关联,如图1-1所示:
图1-1
STA关联AP过程
STA在加入网络之前,首先在所处的区域搜索网络,搜索的方式即通过主动扫描和被动扫描两种方式。
Ø 主动扫描:STA通过发送Probe
Request 帧来请求加入网络,AP收到STA发送的请求帧后,会发送Probe Response 帧做出响应。
Ø 被动扫描:AP会定期向外广播
Beacon帧(携带自身关联的SSID),STA通过侦听 Beacon帧来发现网络。
当STA收到AP的Probe Response 帧后,从候选AP中选择一个进行关联,在关联之前,需要进行身份认证,身份认证包括开放系统认证(Open-System Authentication)和共享密钥认证(Shared-Key Authentication)。
Ø 开放系统认证:STA发出Authentication认证过程如图2所示:
图1-2
开放系统认证
Ø 共享密钥认证:是除开放系统认证以外的另外一种认证机制,共享密钥认证需要STA
和AP配置相同的共享密钥,认证过程如图3所示:
图1-3
共享密钥认证
认证通过后,STA才可与指定AP建立关联,关联过程:STA发送
Association Request帧向指定AP请求关联,AP收到后会发送 Association Response 帧做出响应。
由STA主动发出Probe Request帧,根据是否指定搜索网络,Probe Request帧分为广播帧和单播帧。
1、 不指定搜索网络,STA发出广播帧,探询所在区域内所有的可能接入的AP,Probe
Request广播报文如图2-1所示。(STA_MAC: 9C:B7:0D:75:2F:75)
图2-1
Probe Request帧(广播)
分析:在STA上“刷新网络列表”进行如上报文的抓获,从抓到的报文可以看到,此时STA发出的Probe
Request报文为广播报文,并没有携带具体的SSID信息。
2、 指定搜索网络,STA发出单播帧,选择指定的AP进行连接,Probe
Request单播报文如图2-2所示。(AP_MAC: E2:1A:A9:C3:01:6F)
图2-2
Probe Request帧(单播)
分析:在STA上选择指定的网络进行连接,可以进行如上报文的抓获,从抓到的报文可以看到,此时STA发出的Probe
Request报文是单播报文,并且携带了具体的SSID信息,即想要连接的网络,这里为“wlan1”。
AP会定时的向外广播beacon帧,帧中会携带自身的SSID信息,STA通过监听beacon来选择要接入的网络,AP发出的beacon帧如图2-3所示。
图2-3
AP发出的beacon帧
分析:AP定时的向外广播beacon帧,STA通过监听beacon来选择加入的网络,从抓到的报文中可以看到,beacon帧为广播帧,并携带有AP的SSID信息,beacon帧发送的时间间隔,支持的速率等信息。
AP在收到STA的Probe Request后会发出一个Probe Response响应帧,如图2-4所示。
图2-4
Probe Response帧
分析:Probe
Response帧为单播帧,同样携带SSID信息以及支持的速率信息。
身份认证包括两种方式:开放系统认证和共享密钥认证。
1、STA发出Authentication请求帧如图2-5所示
图2-5
STA发出的Authentication请求帧
分析:该帧为STA发出的Authentication请求帧,认证方式为开放系统认证(Open System),Sequence
Number为1,Status Code为保留。
2、AP发出的Authentication响应帧,如图2-6所示
图2-6
AP发出的Authentication响应帧
分析:该帧为AP发出的Authentication响应帧,Sequence Number增加1变为2,同时Status
Code为Successful,表明认证成功。
共享密钥认证有四个步骤,具体认证过程如下:
1、 STA发出Authentication请求帧,如图2-7所示。
图2-7
Authentication请求帧
分析:该帧为STA发出的Authentication请求帧,从抓到的报文可以看出,认证方式为共享密钥认证,Auth
Sequence Number为1,Status Code为保留。
2、 AP发出携带Challenge
Text 的Authentication响应帧,如图2-8所示。
图2-8
带Challenge Text的Authentication响应帧
分析:该帧为AP发出的Authentication响应帧,帧中携带Challenge Text,在Challenge
Text的value字段即这些文本的具体内容,需要STA加密后发回去给AP验证的,同时Auth Sequence Number增加1变为2,Status
Code为Successful表示成功对之前STA发出的Authentication请求帧的响应。
3、 STA发出携带加密后的Challenge
Text的Authentication请求帧,如图2-9所示。
图2-9
带Cipher Challenge Text的Authentication请求帧
分析:该帧为STA发出的Authentication请求帧,帧中携带对之前AP发送过来的Challenge
Text进行加密后的Challenge Text,并携带IV和ICV信息,让AP对加密后的文本进行解密并与之前发送的未加密的文本进行比较验证。
4、 AP发出认证成功的Authentication响应帧,如图2-10所示。
图2-10
认证成功的Authentication响应帧
分析:该帧是AP发出的表示认证成功的Authentication响应帧,AP收到STA发送的加密后的Challenge
Text后,利用共享密钥和收到报文中携带的IV及ICV等信息对密文进行解密,并将解密后的Challenge Text和之前发送的原文进行比较,如果一致,则发送认证成功响应帧,Auth
Sequence Number为4。
1、STA发出Association Request帧,如图2-7所示
图2-7
Association Request帧
分析:该帧为STA发出的Association
Request帧,帧中包含所要请求关联的网络的SSID信息以及支持的速率集。
2、AP发出的Association Response帧,如图2-8所示
图2-8
Association Response帧
分析:该帧为AP发出的Association
Response帧,status code为Successful表明关联成功,同时分配一个Association ID。