抓取wifi sniffer日志看WiFi的连接过程

一、整体流程

WiFI整体连接过程,station发起主动扫描(带探针),认证,关联,最后四次握手成功,表示WiFi连接成功。
1667291169360.png

二、 探测

2.1 Probe Request

STA 主动发送Probe Request包,表明想加入的网络,自身的支持的速率能力,以及厂商信息等, 可以看出这里是广播的形式,所以目的地址都是ff:ff:ff:ff:ff:ff,SSID长度为0时,SSID设置为 Wildcard SSID。
1667292550529.png

2.2 Probe Response

AP在收到STA的Probe Request包后,会给STA发送Probe Response包,设置SSID,支持的速率,以及厂商信息
1667293382850.png
这里还有网络能力Capabilities Information 0x0011对应信息如下
1667296713700.png

三、认证

STA收到Probe Request后,会根据自身的能力以及AP的能力,决定是否需要加入此网络,如果加入,则发送身份认证流程,否则流程结束。

3.1 Authentication Request

STA 通过 Authentication Request 帧表明自己的认证算法类型:

  • 0:Open System 即加密方式为TKIP/WPA/WAP2/WPA3
  • 1:Shared Key 即加密方式为WEP
3.1.1 Shared Key

使用Shared Key的方式,是真实的认证过程,此时,没有第四阶段EAPOL。认证共有四步:

  1. STA 发起 认证请求,携带认证算法为:Shared Key;
  2. AP 回复一个质问明文(challage text );
  3. STA 使用预设密钥对进行加密,然后发送给AP;
  4. AP 收到后,使用秘钥对收到信息进行解密,如果解密成功且明文一致则表示认证成功,回复successful
3.1.2 Open System

使用Open System的方式,认证过程放到最后的EAPOL阶段,Authentication 只有两步:

  1. STA发起认证请求,携带认证算法类型为:Open System;

1667297333312.png

  1. AP直接回复Successfull

1667298932286.png

四、关联

STA收到认证successful报文后,决定加入网络,则会发送Association Request帧,指明要加入的网络,以及自己的监听时间间隔(即STA多久监听一次Beacon帧)以及自己的能力信息。
1667299500841.png
AP在收到Association Request帧后,确认STA的Listen Interval自己是否接受,能力信息是否匹配。如果一切OK,则回复Association Response帧。携带Asspciation ID(关联ID)和successful信息,表示关联成功。否则回复Association Response帧,携带failed信息,表示关联失败。
1667300095870.png

五 、EAPOL(四次握手)

当认证算法为Open System的时候,有此阶段为真正的身份认证阶段。一共有四帧:

  1. AP首先发送Message1,包含ANonce

1667300539388.png

  1. STA收到Message1,从中获取ANonce AA。SA是自己本身的信息,SNonce是自己生产的信息,PMK可通过自身的密码和SSID计算得到,也是已知信息。因此,STA此时具备计算PTK的五元组信息,计算得到PTK后,用PTK的KCK位为对将要发送的数据包进行计算得到MIC,并将MIC一同发个AP。

1667301158657.jpg

  1. AP收到Message2后,同理,此时也具备所有五元组信息,并成功计算出PTK。AP使用PTK的KCK位对收到的数据进行计算得到MIC,并将计算得到MIC与收到的MIC进行比对,若相等则代表AP和STA拥有相同的PTK,进而确认两者拥有相同的PMK,即两者拥有相同的密码。AP向STA回复Message3,包含被加密的GTK(用于对广播数据帧和组播数据帧加密)和MIC。如果不相等,则身份认证失败,回复认证失败报文,结束认证流程。

1667301695305.png

  1. STA收到被加密的GTK,因为自身有PTK,所以可从中解开GTK,然后AP和STA安装PTK和GTK,整个认证和秘钥交换流程结束

1667301907318.png

六、其他

名词解释:
STA : 无线终端,如手机,电脑
**AP :**无线接入点,如路由器,CPE

EAPOL阶段密钥交换流程图如下:
image.png
其底层数学原理是哈希算法,公式如下:
image.png
部分名词解释如下:
PTK: 就是加密用的密钥。
PRF :可以简单理解为 sha1 算法。
**AA :**是 Authenticator(认证者) 的 MAC 地址。
SA :是 Supplicant(申请者)的 MAC 地址。
ANonce: 是 Authenticator 产生的随机字串。
SNonce :是 Supplicant 产生的随机字串。
**PMK :**是由密码和 SSID 信息生成的密钥,如果 STA 和 AP 拥有相同的密码,则此密钥值也会相同,反之也成立。
RSN:强健安全网络(Robust Security Network)
TPC:传输功率控制(Transmit Power Control)
DFS:动态频率选择(Dynamic Frequency Selection)
SNAP:子网访问协议(Sub Network Access Point)
WEP:有线等效加密(Wired Equivalent Privacy)
MIC:消息完整性校验(Message Integrity Check)
TKIP:临时秘钥完整性协议(Temporal Key Integrity Protocol)
CCMP:计数器模块及密码块链消息认证码协议(Counter Mode with CBC-MAC Protocol)
AES:高级加密标准(Advanced Encrytion Standard)
**EAP:**可扩展认证协议(Extensible Authentication Protocol)
**EAPOL:**基于LAN的扩展EAP协议(EAP Over LAN)
RSNA:强健安全网络联合(Robust Secure Network Association)

//抓包详细过程,参考这篇文章
https://blog.csdn.net/two_snails/article/details/103604604

猜你喜欢

转载自blog.csdn.net/franc521/article/details/130134042