1. WiFi 基础与抓包原理

各位好,我是老周。干无线网络这行十几年了,今天咱们聊聊 WiFi 抓包这件事。

很多人觉得抓包就是装个 Wireshark,点一下开始就完事了。其实不然。你想想看,不懂底层协议,抓回来的包就是一堆乱码。我刚开始学的时候也吃过这个亏——抓了一整天,啥也没分析出来。

这一章,咱们把地基打牢。从无线网络协议栈开始,到 802.11 帧结构,再到工具选型。一步一个脚印。

1.1 无线网络协议栈

WiFi 的协议栈,说白了就是 OSI 模型在无线环境下的落地。但有个关键区别——无线比有线多了个「空气介质」的管理层。

我习惯把 WiFi 协议栈分成三层来看:

  • 物理层(PHY):负责把 0 和 1 变成无线电波发出去。调制方式、频段、信道宽度都在这一层。
  • MAC 层:这是 WiFi 的灵魂。CSMA/CA、帧确认、重传、分片——全在这层搞定。
  • LLC 层:把 802.11 帧转换成上层能识别的数据,比如 IP 包。

嗯,这里要注意。WiFi 的 MAC 层和有线以太网完全不同。有线靠冲突检测(CSMA/CD),无线靠冲突避免(CSMA/CA)。为什么?因为无线环境下,你没法一边发一边听——自己发的信号太强,会把别人的信号淹没掉。

核心要点:WiFi 协议栈的 MAC 层是抓包分析的主战场。80% 的性能问题都出在这一层。

1.2 802.11 帧结构

802.11 帧,是咱们抓包分析的核心对象。我见过太多人盯着十六进制看半天,啥也看不出来。其实帧结构是有规律的。

一个标准的 802.11 帧,由三部分组成:

帧头 帧体 FCS
30-36 字节 0-2312 字节 4 字节
包含帧控制、时长、地址等 承载上层数据或管理信息 校验帧完整性

帧头里的 帧控制字段 是最关键的。它告诉你:这是管理帧、控制帧还是数据帧。

  • 管理帧:Beacon、Probe Request/Response、Association——这些是 WiFi 建立连接时的握手包。
  • 控制帧:RTS、CTS、ACK——负责协调介质访问。
  • 数据帧:真正承载用户数据的帧。

我记得有一次排查一个 AP 频繁掉线的故障。抓包一看,Beacon 帧间隔忽大忽小,从 100ms 跳到 300ms。这就是 AP 芯片过热导致定时器漂移了。换了个散热片,问题解决。

个人技巧:抓包时先看帧类型分布。如果管理帧占比超过 30%,说明环境里存在大量重连或扫描行为,性能肯定好不了。

1.3 抓包工具选择与安装

工具选不对,努力全白费。我这些年用过不下十种抓包工具,最后常驻的就三个。

1.3.1 Wireshark

这是主力。跨平台、协议解析全、社区活跃。Windows、macOS、Linux 都能跑。

安装很简单:

# Ubuntu/Debian
sudo apt install wireshark

# macOS
brew install --cask wireshark

# Windows
# 去官网下载安装包,一路下一步

但有个坑——Wireshark 本身不抓无线包。它只是个分析器。抓包要靠底层的 libpcap 或 Npcap。

避坑指南:Windows 下安装 Wireshark 时,记得勾选「安装 Npcap」。否则你会发现抓不到任何无线网卡的数据。我曾经因为这个折腾了一下午。

1.3.2 tcpdump

命令行利器。适合远程抓包、脚本化抓包。资源占用小,嵌入式设备上也能跑。

# 抓取 wlan0 接口上的所有 802.11 帧
sudo tcpdump -i wlan0 -w capture.pcap

# 只抓 Beacon 帧
sudo tcpdump -i wlan0 type mgt subtype beacon -w beacon.pcap

我个人习惯先用 tcpdump 在 AP 上抓个几分钟,再把 pcap 文件拖回本地用 Wireshark 分析。这样不占图形界面资源。

1.3.3 Aircrack-ng 套件

这个工具集里的 airodump-ng 是专门抓无线包的。它能开启网卡的监听模式(Monitor Mode),抓到所有经过的 802.11 帧。

# 开启监听模式
sudo airmon-ng start wlan0

# 开始抓包
sudo airodump-ng wlan0mon

嗯,这里要提醒一句。监听模式需要网卡支持。不是所有无线网卡都能切到 Monitor Mode。我踩过的坑是——买了个 USB 网卡,号称支持监听,结果驱动不完善,一开监听就断连。

工具 适用场景 优点 缺点
Wireshark 本地分析、协议解码 图形化、功能全面 资源占用高
tcpdump 远程抓包、嵌入式设备 轻量、可脚本化 无图形界面
Aircrack-ng 无线审计、监听模式抓包 支持 Monitor Mode 需要兼容网卡

1.4 本章知识体系

下面这张图,是我自己总结的 WiFi 抓包知识框架。每次带新人,我都先让他们看这个。

WiFi 抓包知识体系 无线网络协议栈 802.11 帧结构 抓包工具选型 PHY / MAC / LLC 管理 / 控制 / 数据帧 Wireshark / tcpdump / Aircrack 核心思路:先懂协议 → 再认帧结构 → 最后选对工具 三者缺一不可,否则抓回来的包就是一堆二进制垃圾

这张图把本章的三个核心模块串起来了。协议栈是理论基础,帧结构是分析对象,工具是实战手段。三者缺一不可。

我的建议:初学者别急着装工具。先把 802.11 帧结构背下来——至少要知道帧控制字段里哪几位是类型、哪几位是子类型。这比会操作 Wireshark 重要十倍。