Deauth 帧是什么
Deauthenticate(去认证)与 Disassociate(去关联)是 802.11 的两类管理帧,作用是立即中断 STA 与 AP 之间的连接关系。正常场景下它们由 AP 主动发出:踢除长时间空闲的终端、负载均衡时把终端引导到更合适的 AP、DFS 雷达事件后的强制换信道、认证或关联超时。异常情况下,源 MAC 并不属于本网络的任何 AP,却以近乎固定的周期反复出现,表现就是大量终端被同时或轮流踢下线后自动重连。
判读要点
| 帧类型 | 管理帧,子类型 12(Deauth)/ 10(Disassoc) |
|---|---|
| 正常来源 | 本网 AP 射频口 MAC(BSSID),目标明确 |
| 异常特征 | 源 MAC 不在 AP 台账内、周期固定、目标为广播或全零地址 |
| 观测手段 | 终端事件日志、空口监视模式抓包、控制器与 WIDS 告警 |
| 缓解措施 | 启用 PMF(802.11w)拒绝未受保护的伪造帧、WIDS 定位、现场排查 |
常见来源
- 攻击工具:以踢除逼迫终端重连,为后续握手抓包或口令破解做准备
- 带反制功能的 WIDS 或无线设备:把正常 AP 误判为非法并持续发送反制帧
- 测试设备:现场网卡上运行着扫描或注入脚本,不自觉地持续发送
- 本网自身的负载均衡与踢除策略:属于内部正常行为,需与 AP 台账核对
- 老式设备用裸 Deauth 实现漫游引导或断线踢人,配置错误时会打偏目标
定位手法
定位手法
# 空口抓包:锁定问题信道后按子类型过滤
wlan.fc.type_subtype == 12 # Deauthentication
wlan.fc.type_subtype == 10 # Disassociation
# 命令行统计发送方与原因码(监视接口)
tshark -i wlan0mon -Y "wlan.fc.type_subtype==12" \
-T fields -e wlan.sa -e wlan.da -e wlan.fixed.reason_code \
| sort | uniq -c | sort -rn
# 把统计出的源 MAC 与 AP 台账比对:对不上即为可疑来源现象与结论对照
| 现象 | 指向 | 下一步 |
|---|---|---|
| 零星终端偶发断开,原因码 3 或 4 | AP 正常踢除(终端离开或空闲) | 无需处理,留存基线记录 |
| 全楼终端在同一秒批量断开 | 广播伪造帧或 AP 侧复位 | 空口抓包并核对 AP 与交换机重启记录 |
| 固定周期重复断开 | 自动化工具或看门狗定时器 | 按时间规律反查现场设备 |
| 仅某型号终端被反复踢 | 终端省电或驱动策略问题 | 换终端对照验证 |
| 源 MAC 是本网 AP 但不在本区 | 覆盖重叠处的越区踢除或漫游异常 | 核对射频功率与漫游门限 |
启用 PMF(802.11w)后,终端会拒绝未受保护的伪造 Deauth 与 Disassoc,并对组播管理帧做完整性校验;但并非所有终端都支持,建议先用可选或能力模式过渡,具体选项名称以厂商手册为准,不要直接强制。
源 MAC 可以被伪造,单点抓包只能回答「谁在发」,回答不了「在哪里」。锁定物理位置需要多点抓包交叉比对信号强度,或借助控制器的定位功能;怀疑恶意攻击时先保留抓包时间戳与日志作为证据,再走安全流程。