「连上 Wi-Fi」在协议上是三步:扫描、认证、关联。 而时间主要花在第一步——因为它要逐个信道去听。
06.03 讲完八个标准(物理层),从这一节开始讲「怎么连上去」。 这一章的后半段都是「接入控制」话题,从最基础的三步开始。
一、三步,各做什么
扫描:找出「附近有哪些网络」。认证:完成身份验证(开放认证时只是个形式)。 关联:正式加入这个 BSS,之后才能传数据。
步骤 做什么 耗时
扫描 逐信道找网络 几百毫秒到几秒 认证 身份验证 几十毫秒 关联 加入 BSS 并分配 AID 几十毫秒
注意「认证」在 802.11 里有两个含义: 一是「链路级认证」(开放或共享密钥),它只是握手的一部分;二是「用户级认证」(802.1X),它在关联之后才做。 两者不是一个东西,配置界面上经常混着写。
二、扫描的两种做法
被动扫描:在每个信道上安静听 100 毫秒,等 AP 主动发的 Beacon。 好处是省电、一定能听到;坏处是慢。
主动扫描:在每个信道上发一个 Probe Request,等 30 毫秒收回应。 好处是快;坏处是多发了帧,而且「隐藏 SSID」的网络不会回应。
算一下差别:2.4 GHz 有 13 个信道,5 GHz 有约 25 个。 被动扫全部:38 × 100 毫秒 = 3.8 秒。 主动扫全部:38 × 30 毫秒 = 1.1 秒。
这就是「开 Wi-Fi 后要等好几秒才看到列表」的原因:它在逐个信道听。 而「连过的网络」会被优先扫(只扫那几个信道),所以连得快得多。
三、「隐藏 SSID」为什么没用
「隐藏 SSID」的做法是「Beacon 里不带网络名」。 它只能让「被动扫描」看不到你。
而它挡不住三件事:一、客户端连上时,Probe Request 里带的就是 SSID(明文)。 二、关联请求里也带 SSID。 三、即使抓不到这些,攻击者可以「伪装成客户端去问」,AP 会回答。
所以它的效果是:「让正常用户连得更慢,让攻击者多花五分钟」。 而它带来的麻烦是实在的:客户端连得更慢、漫游更差、排障更难。
正确的替代做法是把安全放在认证与加密上:WPA2/WPA3 加 802.1X。 因为「网络名被人知道」本身不构成风险,「知道了就能连上」才是风险。
四、动手 Demo:连上 Wi-Fi 之前,客户端做了什么
这段算被动扫描与主动扫描在 2.4 与 5 GHz 上各要多久,再说明「隐藏 SSID」为什么只是让人多等几秒。
P(u" 被动扫全部:38 个信道 × 100 毫秒 = %.1f 秒。" % (38 * 0.1))
P(u" 主动扫全部:38 × 30 毫秒 = %.1f 秒。" % (38 * 0.03))
实跑输出:
--------------------------------------------------------------------
连上 Wi-Fi 之前,客户端做了什么
--------------------------------------------------------------------
**「连 Wi-Fi」在协议上是三步:扫描、认证、关联。**
**每一步都有超时与重试,所以「连得慢」是有具体原因的。**
**第一步:扫描**,两种做法。
被动扫描:在每个信道上听 100 毫秒的 Beacon。
2.4 GHz 有 13 个信道 → 13 × 100 = 1300 毫秒。
主动扫描:每个信道发 Probe Request,等 30 毫秒。
13 × 30 = 390 毫秒。
**再算上 5 GHz 的信道**(约 25 个):
被动扫全部:38 个信道 × 100 毫秒 = 3.8 秒。
主动扫全部:38 × 30 毫秒 = 1.1 秒。
**这就是「开 Wi-Fi 后要等好几秒才看到列表」的原因**——**它在逐个信道听。**
**第二步认证、第三步关联**,两个来回大约几十毫秒。
**所以「连上」的主要时间花在扫描上,不是花在认证上。**
**一个工程上的推论**:**「隐藏 SSID」会让主动扫描失效**(因为不回应 Probe),
**客户端只能被动等 Beacon,连得更慢。**
**而它带来的安全性提升接近于零**(SSID 在别的帧里照样能读到),
**所以「隐藏 SSID」是典型的「花钱买罪受」。**
「3.8 秒与 1.1 秒」这一组数解释了「连 Wi-Fi 为什么慢」:它不是设备不行,是它在逐个信道听。 而「连过的网络连得快」是因为它只扫那两三个信道。
注意「认证有两个含义」那一段: 配界面上的「认证方式」通常指链路级(开放/共享密钥/WPA2),而「802.1X」是用户级。 两者串联,不是二选一——这是最容易配错的地方。
最后那句「隐藏 SSID 是花钱买罪受」值得抄下来:它挡不住攻击者,只让正常用户更慢。 而很多单位把它当成「安全措施」写进规范,原因就是把「隐蔽」误当成了「安全」。
30 秒实验
- 在手机上关掉再打开 Wi-Fi,数一下列表出来要几秒。
- 查一下你连过的网络有几个,它们是不是比新网络出现得快。
- 想一想:为什么「隐藏 SSID」会让漫游变差?
常见误区
- 以为「连上」是一步。扫描、认证、关联三步,扫描最慢。
- 以为隐藏 SSID 能提高安全。它只让正常用户更慢,挡不住探测。
- 以为认证就是 802.1X。链路级认证与用户级认证是两件事。
自测三问(点开对答案)
1. 连上 Wi-Fi 的三步是什么?时间主要花在哪一步? —— 扫描、认证、关联,时间主要花在扫描(要逐信道听)。 2. 被动扫描与主动扫描各要多久(38 个信道)? —— 被动约 3.8 秒,主动约 1.1 秒。 3. 为什么隐藏 SSID 挡不住攻击者? —— 客户端连接时 Probe Request 与关联请求都明文带 SSID,且可伪装客户端去问。下一节:MAC 白名单——一个看起来有用、其实很弱的控制。
- ☐ (本节完,下一节 06.04.02 接入点的接入控制)