Wifi 连接的完整过程

  1. 扫描:
    作用:Wifi 连接的第一步,用于发现周围的可用 wifi 热点(AP)
    过程:
    • 主动扫描:设备会主动发送探测帧请求(Probe request)帧,周围的AP接收到请求后,回复探测帧响应(Probe response)。在 Probe response 中,包含了 AP 的 SSID、信道、BSSID 等信息
    • 被动扫描:设备监听周围 AP 定期广播的 beacon,这些帧也包含AP的SSID、信道、BSSID 等信息
SSID 与 BSSID 的区别:
- SSID:是wifi网络的名称,非唯一;类似于 网络的名字
- BSSID:是wifi网络中 AP 的MAC地址,用于唯一标识网络中的具体设备;类似于网络的身份证号

什么时候主动扫描,什么时候被动扫描:
- 主动扫描场景:手动刷新wifi列表、连接到未保存的网络、连接隐藏网络、打开wifi的时候会触发主动扫描
- 被动扫描场景:后台定期扫描(定期被动监听beacon)、连接已保存的网络(优先监听beacon)、省电模式或低电量场景、
  1. 认证
    作用:验证设备是否有权限连接 AP
    过程:
    • 开放认证:对于开放网络,设备发送认证请求(Authentication Request)帧,AP回复认证响应(Authentication Response)帧,认证通过
    • 共享密钥认证:对于使用WEP加密的网络,设备发送认证请求帧,AP回复包含挑战文本的认证响应帧,设备使用共享密钥加密挑战文本并发送回AP,AP验证加密后的文本是否正确。
    • WPA-PSK/WPA2-PSK认证:对于使用WPA-PSK或WPA2-PSK加密的网络,设备和AP使用预共享密钥(PSK)进行认证。认证通过后,设备进入关联阶段。
认证是必需的吗?
- 认证在WEP/WPA-PSK/WPA2-PSK网络中是必须的,跳过认证将导致连接失败或数据传输不安全。在开放网络中,认证过程虽然存在但不提供安全性保护,设备可以连接但存在安全风险。
  1. 关联
    作用:设备和AP之间建立数据链路连接,即L2层建立连接
    过程:

    • 关联请求:设备发送关联请求(Association Request)帧,包含设备的 mac 地址、支持的速率等信息
    • 关联响应:AP接收到关联请求后,回复关联响应(Association Response)帧,包含关联状和分配的 AID(关联ID)
    • 四次握手:(仅限WPA-PSK/WPA2-PSK):关联成功后,设备和AP进行四次握手,生成和交换 PTK,用于加密后续的数据传输
  2. 四次握手加密
    作用:生成和交换 PTK,即成对临时密钥,确保数据传输的安全性
    过程:

    • 第一次握手:AP发送带有nonce(随机数)的 EAPOL 帧到设备
    • 第二次握手:设备回复 EAPOL,包含自己的 nonce 和使用 PSK 生成的密钥信息
      -第三次握手:AP 回复 EAPOL 帧,包含 MIC(消息完整性校验码) 和安装 PTK 的指示
    • 第四次握手:设备回复 EAPOL 帧,确认 PTK 安装完成
  3. DHCP 获取 IP
    作用:设备通过 DHCP 协议获取IP地址、子网掩码、网关、DNS服务器等网络配置信息
    过程:

    • DHCP Discover:设备发送 DHCP Discover 广播帧,请求IP地址
    • DHCP Offer:DHCP 服务器回复 DHCP Offer 帧,提供一个 IP 地址
    • DHCP Request:设备发送 DHCP Request 帧,请求接受提供的 IP 地址
    • DHCP ACK:DHCP 服务器回复 DHCP ACK,确认 IP 地址的分配
  4. 网络连接验证
    作用:验证网络连接是否成功,确保设备可以正常上网
    过程:

    • DNS验证:设备尝试解析一个预设的域名,如 connect.rom.example.com
    • HTTP验证:设备尝试访问一个预设的 URL,如 http://www.baidu.com, 检查是否可以正常访问互联网
posted on 2025-07-08 17:34  caoshikui  阅读(245)  评论(0)    收藏  举报