1. 搭建WiFi嗅探环境
任务目标
搭建一个可用的WiFi嗅探环境,使用Wireshark配合支持监听模式的无线网卡捕获802.11管理帧(以Beacon帧为例),并识别帧头部关键字段,从而熟悉802.11帧结构。
环境与依赖
- 操作系统:Linux(推荐Ubuntu 22.04+)或macOS;Windows需额外安装Npcap并确认驱动支持
- 无线网卡:支持监听模式(Monitor Mode),如Atheros、Intel AX200/AX210、Ralink等芯片组
- 工具:
aircrack-ng套件(提供airmon-ng)、tcpdump、Wireshark - 安装命令(Ubuntu):
sudo apt install aircrack-ng tcpdump wireshark
实现步骤
- 确认无线接口名称:
ip link show(通常为wlan0或wlx...) - 将无线网卡切换至监听模式:
sudo airmon-ng start wlan0,成功后接口变为wlan0mon - 验证监听模式已启用:
iw dev wlan0mon info,输出中应包含type monitor - 使用tcpdump捕获少量Beacon帧并保存为pcap文件(避免直接开Wireshark造成大量无关流量干扰):
sudo tcpdump -i wlan0mon -e -nn -c 50 type mgt subtype beacon -w beacon_sample.pcap
等待约10~30秒,直到捕获满50个Beacon帧后自动停止。
- 用Wireshark打开生成的pcap文件进行分析:
wireshark beacon_sample.pcap
802.11帧结构识别要点
在Wireshark中选中任意一个Beacon帧,展开IEEE 802.11 Beacon frame协议树,按以下字段对照观察:
- Frame Control(2字节):Type=0(管理帧)、Subtype=8(Beacon);注意Flags字段中的DS状态
- Duration(2字节):通常为0(Beacon帧中该字段固定为0)
- Destination address(6字节):Beacon帧中为广播地址
ff:ff:ff:ff:ff:ff - Source address(6字节):发送该Beacon的AP的MAC地址
- BSS Id(6字节):与Source address相同(AP自身MAC)
- Fragment number / Sequence number:用于重组分片
- Tagged parameters:包含SSID(Tag 0)、Supported Rates(Tag 1)、DS Parameter Set(Tag 3,指示信道)等
验证方法与判定标准
完成以下检查即视为环境搭建成功:
iw dev wlan0mon info显示type monitor,说明网卡已进入监听模式- tcpdump命令正常退出且无报错,生成的
beacon_sample.pcap文件大小大于0 - 在Wireshark中打开该文件,能看到完整的Beacon帧协议树,且Frame Control字段中Type=0、Subtype=8
- 能正确识别出至少一个AP的SSID(在Tagged parameters → Tag: SSID参数中查看)及其BSSID
常见问题
- airmon-ng start失败:执行
sudo airmon-ng check kill结束冲突进程后重试 - 网卡不支持监听模式:更换网卡或使用外置USB无线网卡(如Realtek RTL8812AU)
- 捕获不到Beacon帧:靠近无线路由器,或改用
type mgt捕获所有管理帧确认网卡确实在接收 - Wireshark无权限打开pcap:
sudo usermod -aG wireshark $USER后重新登录
完成上述步骤后,你已经拥有一个可复用的WiFi嗅探环境,后续案例可直接基于此环境捕获并分析其他类型的802.11帧(如Probe Request、Data帧等)。