WIFI无线网络之抓取WLAN无线报文

抓取WLAN无线报文大致需要分3步:

  1. 设置无线网卡为Monitor模式。
  2. 抓包。
  3. 恢复为 Managed 模式。

设置无线网卡Monitor模式

什么是 Monitor 模式?

Monitor 模式 是一种无线网卡的工作模式,允许网卡捕获所有经过的无线数据包(包括非本设备的数据包),常用于:

  • 网络嗅探(Sniffing)
  • 安全测试(如破解 Wi-Fi、分析协议)
  • 研究无线网络行为

前提条件

  • 需支持 Monitor 模式的无线网卡
  • 需root 权限: 所有操作需以 root 用户执行(使用 sudo 或直接切换)。

查看无线网卡是否支持 Monitor 模式

iw list

输出如果包含如下类似的monitor,说明网卡支持:

Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor

停止网络管理服务

防止 NetworkManager systemd-networkd 干扰:

sudo systemctl stop NetworkManager
sudo systemctl stop wpa_supplicant

查看无线接口名称

iw dev

输出示例:

phy#0
    Interface wlp4s0
        ifindex 3
        wdev 0x1
        addr 00:11:22:33:44:55
        type managed

记录接口名称(如 wlp4s0)。

删除原有接口(可选)

如果接口已存在,先删除(wlp4s0为网卡名,根据实际情况修改):

sudo ip link set wlp4s0 down
sudo iw dev wlp4s0 del

创建 Monitor 模式的虚拟接口

sudo iw phy phy0 interface add mon0 type monitor
  • phy0 是无线物理设备(可通过 iw phy 查看)。
  • mon0 是新创建的监控接口名称(可自定义)。

启用新接口

sudo ip link set mon0 up

验证 Monitor 模式

使用 iw dev 检查接口类型:

iw dev

输出应包含:

Interface mon0
	type monitor

抓包

使用 tcpdumpWireshark 捕获数据包:

sudo tcpdump -i mon0 -w capture.pcap

或使用 Wireshark:

sudo wireshark -i mon0

Wireshark其他操作

添加无线 ColoringRules

https://wiki.wireshark.org/ColoringRules

To use one of the coloring rules files listed here, download it to your local machine, select View→Coloring Rules in Wireshark, and click the Import… button.

先从上面链接下载着色规则文件(比如:Wireshark-Wlan-ColouringRules.txt),选择 视图-->着色规则->导入 即可。效果如下:
ColoringRules

设置 filter

wlan.sa --- source address
wlan.da --- destination address
wlan.addr
wlan.ssid
wlan contains 00:11:22:33:44:55
...

报文明文显示

WPA加密的无线报文可以明文显示吗?
当然可以。设置如下:

  1. 打开 Wireless ToolBar:View->Wireless ToolBar,右侧会出现 802.11 preference 选项
  2. 点击Edit弹出密码设置菜单,选择 wpa-pwd 输入 psk:ssid 点击确定
  3. 原先加密的报文就可以明文显示了

802.11_preference

恢复为 Managed 模式

抓包完成后需切换回普通 Managed 模式,才能正常联网(wlp4s0为网卡名,根据实际情况修改):

sudo ip link set mon0 down
sudo iw dev mon0 del

sudo iw phy phy0 interface add wlp4s0 type managed
sudo ip link set wlp4s0 up