1. 11帧结构解析与抓包验证

802.11帧结构解析与抓包验证 学习卡片

任务目标

搭建一个可用的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

实现步骤

  1. 确认无线接口名称:ip link show(通常为wlan0或wlx...)
  2. 将无线网卡切换至监听模式:sudo airmon-ng start wlan0,成功后接口变为wlan0mon
  3. 验证监听模式已启用:iw dev wlan0mon info,输出中应包含type monitor
  4. 使用tcpdump捕获少量Beacon帧并保存为pcap文件(避免直接开Wireshark造成大量无关流量干扰):
sudo tcpdump -i wlan0mon -e -nn -c 50 type mgt subtype beacon -w beacon_sample.pcap

等待约10~30秒,直到捕获满50个Beacon帧后自动停止。

  1. 用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,指示信道)等

验证方法与判定标准

完成以下检查即视为环境搭建成功:

  1. iw dev wlan0mon info显示type monitor,说明网卡已进入监听模式
  2. tcpdump命令正常退出且无报错,生成的beacon_sample.pcap文件大小大于0
  3. 在Wireshark中打开该文件,能看到完整的Beacon帧协议树,且Frame Control字段中Type=0、Subtype=8
  4. 能正确识别出至少一个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帧等)。