# 专业 Wi-Fi 频谱监测:网络工程师技术指南
监测无线频谱是网络工程师工作中不可或缺的一部分。这种实践可以诊断问题、优化覆盖范围,并合法收集访客分析数据。本文将介绍基于 TP-Link MR3020 路由器安装 OpenWrt 的被动嗅探器设置、数据收集工具以及流量分析方法。
Wi-Fi 监测的实际应用
被动无线频谱分析能解决标准网络诊断之外的任务。对于商业场所业主来说,它是收集访客数据的工具:路由器切换到 monitor 模式后,会捕获覆盖区域内设备的唯一 MAC 地址,从而形成客流量统计,而无需使用摄像头。数据可导出为 CSV,用于绘制峰值负载图表并规划员工排班。
在公寓楼中,信道利用率分析有助于避免干扰。标准工具能显示占用信道,但无法揭示流量强度。长期监测能发现隐蔽干扰——例如,邻居的接入点在弱信号环境中使用宽信道广播。对于工程师来说,在设置 WDS 桥接或 mesh 网络时,这一点至关重要。
现代操作系统中的 MAC 地址随机化(iOS 14+、Android 10+)并不会让这种方法失效。虽然无法识别特定用户,但一段时间内统计唯一设备数量依然准确——虚拟 MAC 在活跃网络使用期间变化不频繁。以 15 分钟或更长的采集间隔,误差率低于 5%。
硬件和软件设置
安装 OpenWrt 22.03+ 的 TP-Link MR3020 路由器非常适合这些任务。该设备充当被动传感器:无线模块切换到 monitor 模式,接口不参与数据传输。主要组件:
- 带 USB 接口的单板计算机
- 用于日志的外置存储(最小 4 GB)
- 通过 Power Bank 供电,支持移动使用
第一步——修改无线接口配置。编辑 /etc/config/wireless,添加新节:
config wifi-iface
option device 'radio0'
option mode 'monitor'
option ifname 'mon0'
option hidden '1'
应用 wifi reload 后,使用 ifconfig mon0 检查接口。成功设置的标志是输出中包含 mon0: flags=40960<POINTOPOINT,MULTICAST> mtu 1500。
流量捕获和分析工具
根据任务,我们使用两种工具进行数据包捕获。Airodump-ng(来自 aircrack-ng 软件包)提供实时分析:
airodump-ng -w /mnt/usb/capture --output-format csv mon0
该工具生成两种报告:
- CSV:结构化数据,用于统计(BSSID、信道、信号强度、客户端)
- PCAP:原始帧,用于 Wireshark 深度分析
Tcpdump 更适合长期监测,因为开销最小:
tcpdump -i mon0 -s 0 -W 10 -G 3600 -C 100 -w /mnt/usb/capture_%Y%m%d_%H%M%S.pcap
关键参数:
-W 10:循环记录(最多 10 个文件)-G 3600:每 60 分钟轮转一次-C 100:文件大小限制 100 MB
802.11 帧分类:
- Beacon:接入点信标(估算信道上接入点数量)
- Probe Request:客户端连接请求(检测隐藏 SSID)
- Data/ACK:用户流量和确认(活动指标)
- CTS/RTS:控制帧(空中碰撞信号)
- BlockAck:聚合确认(802.11n/ac 模式)
指标分析:
- 信道利用率:Data 与 ACK 比例接近 1:1 表示传输高效
- 隐藏站点:CTS 异常高而 Data 流量低
- 干扰:信号强度急剧峰值而 BSSID 无变化
自动化和集成
为实现持续数据收集,通过 /etc/rc.local 设置自动启动:
#!/bin/sh
sleep 60
MOUNT_POINT="/root"
OUTPUT_FILE="${MOUNT_POINT}/wifi_24_capture"
killall airodump-ng
airodump-ng mon0 -w "$OUTPUT_FILE" --output-format csv --write-interval 60
重要提示:sleep 60 延迟确保无线接口初始化完成。对于处理 CSV 日志,推荐使用 Python 脚本结合 pandas 库——它能按小时聚合数据,并使用 Z 分数检测异常。
处理 PCAP 文件时,使用 tshark 进行过滤:
tshark -r capture.pcap -Y "wlan.fc.type_subtype == 0x08" -T fields -e wlan.bssid
此命令从 Beacon 帧中提取 BSSID,形成活跃接入点列表。
关键要点
- 被动监测合法,前提是不解密流量(仅需捕获头部)
- 客流量分析需采集间隔超过 15 分钟,以应对 MAC 随机化
- 在多信道系统(802.11ac/ax)中,信道宽度(20/40/80 MHz)对利用率评估至关重要
- 资源受限设备优先使用 Tcpdump——CPU 占用比 airodump-ng 低 40%
- 商业用途需在覆盖区域张贴数据收集告知(例如横幅)
— Editorial Team
暂无评论。