2. 抓包环境搭建:Wireshark安装与配置、无线网卡选择(Monitor模式)、Windows/macOS/Linux下的抓包环境准备

搭建一个靠谱的抓包环境,是无线分析的第一步。这一步要是没走稳,后面所有分析都是空中楼阁。我见过太多新手拿着普通网卡折腾半天,结果啥也抓不到——说白了,硬件就不对。

这一章,咱们把环境搭建这件事彻底讲透。从网卡选择到系统配置,从驱动安装到Wireshark调优,一步不落。

2.1 无线网卡的选择:为什么普通网卡不行?

普通家用无线网卡,说白了就是「听话」的设备。它只会接收发给自己的数据帧,其他帧直接丢掉。你想让它监听整个信道?没门。

抓包需要的是 Monitor模式(监控模式)。这个模式下,网卡会变成「聋子」——它不挑食,所有经过的无线帧都收。不管是别人的握手包、信标帧,还是探测请求,统统照单全收。

核心概念:Monitor模式 vs Managed模式

  • Managed模式:普通上网模式,只收发给自己的帧
  • Monitor模式:监听模式,收所有帧,不参与连接

我刚开始做无线安全时,就吃过这个亏。拿笔记本自带的Intel网卡折腾了两天,Wireshark里啥也看不到。后来换了块外接USB网卡,一插上就抓到包了。嗯,这个坑我替你们踩过了。

2.1.1 推荐网卡芯片

不是所有网卡都支持Monitor模式。下面这几款芯片,是我这些年实测下来最稳的:

芯片型号 支持频段 最大速率 驱动稳定性 推荐理由
Atheros AR9271 2.4GHz 150Mbps ★★★★★ Linux免驱,兼容性最好
Ralink RT3070 2.4GHz 150Mbps ★★★★☆ 老牌芯片,资料多
Realtek RTL8812AU 2.4/5GHz 600Mbps ★★★☆☆ 支持双频,驱动稍麻烦
MediaTek MT7610U 2.4/5GHz 433Mbps ★★★☆☆ 性价比高,5GHz可用

我的建议:新手首选Atheros AR9271芯片的网卡。淘宝上几十块钱,插上就能用。等你玩熟了,再考虑双频的RTL8812AU。

2.2 Wireshark安装与基础配置

Wireshark是目前最主流的抓包工具,没有之一。它背后用的是libpcap(Linux/macOS)或Npcap(Windows)来抓取原始数据包。

2.2.1 Windows下的安装

Windows下安装Wireshark,有个关键步骤很多人会忽略——Npcap的安装选项。

  1. 从官网下载Wireshark安装包(建议选64位版本)
  2. 安装过程中会提示安装Npcap,一定要勾选「WinPcap API兼容模式」
  3. 安装完成后,重启电脑

注意:安装Npcap时,记得勾选「Support raw 802.11 traffic」。如果不勾,你抓到的无线包会被网卡驱动「翻译」成以太网帧,丢失大量原始信息。

我曾经帮一个同事排查问题,他抓到的包全是「假」的——802.11帧头被驱动剥离了,只剩IP层。折腾了半天才发现是Npcap没勾那个选项。嗯,这种低级错误,犯一次就够了。

2.2.2 macOS下的安装

macOS稍微麻烦一点。因为苹果对无线网卡的限制比较多,内置的Airport卡虽然能进Monitor模式,但需要手动操作。

安装步骤:

  • 用Homebrew安装:brew install --cask wireshark
  • 安装ChmodBPF:安装器里勾选「Install ChmodBPF」,否则普通用户没权限抓包
  • 重启后,在终端运行 sudo ifconfig en0 monitor 开启监控模式(en0是你的无线网卡接口名)

避坑指南:macOS从Catalina开始,对系统目录的权限控制更严了。如果Wireshark提示「You don't have permission to capture on that device」,去系统偏好设置→安全性与隐私→隐私→网络,把Wireshark勾上。

2.2.3 Linux下的安装

Linux是无线抓包的天堂。几乎所有工具都是原生支持的,驱动问题最少。

安装命令:

# Debian/Ubuntu
sudo apt update
sudo apt install wireshark

# 安装时选择「Yes」允许非root用户抓包
# 然后把当前用户加入wireshark组
sudo usermod -aG wireshark $USER

# 重启后生效

开启Monitor模式:

# 查看无线网卡接口名
iwconfig

# 关闭网卡
sudo ip link set wlan0 down

# 设置监控模式
sudo iw dev wlan0 set type monitor

# 启动网卡
sudo ip link set wlan0 up

# 验证
iwconfig wlan0
# 输出应该显示 Mode:Monitor

2.3 抓包环境的核心逻辑

为了让你更直观地理解整个环境搭建的流程,我画了一张图:

抓包环境搭建核心流程 硬件层 支持Monitor模式的网卡 驱动层 Npcap / libpcap / 原生驱动 系统层 Windows / macOS / Linux 开启 Monitor 模式 抓包工具 Wireshark / tcpdump 辅助工具 airodump-ng / aircrack-ng 分析工具 Wireshark过滤器 / 统计 输出:pcap / pcapng 抓包文件 关键:硬件不支持Monitor模式 → 驱动不加载原始802.11帧 → 抓到的包全是「假」的 所以第一步,先确认你的网卡能不能进Monitor模式

2.4 各系统的详细配置步骤

2.4.1 Windows完整配置

Windows下最让人头疼的是驱动。很多USB网卡在Windows上不支持Monitor模式,或者驱动不开放这个功能。

我的经验是:用 Panda Wireless PAU05 或 Alfa AWUS036ACH,这两款在Windows下驱动最省心。

配置步骤:

  1. 插上网卡,安装官方驱动
  2. 打开设备管理器,找到网卡→属性→高级
  3. 找到 802.11 Monitor Mode 或 Wireless Mode,设为Enabled
  4. 打开Wireshark,选择对应的网卡接口开始抓包

注意:Windows下开启Monitor模式后,网卡就不能同时上网了。这是硬件限制,没办法。所以建议准备两块网卡——一块抓包,一块上网查资料。

2.4.2 macOS完整配置

macOS的无线网卡驱动是苹果自己写的,功能受限。内置的Airport卡虽然能进Monitor模式,但只能抓2.4GHz的包,5GHz抓不了。

如果你需要抓5GHz,建议外接一个支持macOS的USB网卡。我试过 TP-Link TL-WN722N v2/v3(需要换驱动),效果还行。

macOS下开启Monitor模式的完整命令:

# 查看无线网卡接口
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s

# 假设接口是en0
# 断开当前WiFi连接
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 -z

# 开启Monitor模式
sudo ifconfig en0 monitor

# 验证
ifconfig en0
# 输出应该包含 "monitor" 字样

2.4.3 Linux完整配置

Linux是最省心的。几乎所有主流无线网卡都能进Monitor模式,而且驱动都是开源的。

我推荐用 Kali Linux 或 Ubuntu 做抓包系统。Kali预装了所有无线工具,Ubuntu则更稳定。

一键脚本(保存为 monitor.sh):

#!/bin/bash
# 无线网卡Monitor模式一键开启脚本
# 用法:sudo ./monitor.sh wlan0

INTERFACE=$1

if [ -z "$INTERFACE" ]; then
    echo "请指定网卡接口,例如:sudo ./monitor.sh wlan0"
    exit 1
fi

# 关闭NetworkManager对网卡的管理
sudo systemctl stop NetworkManager

# 关闭网卡
sudo ip link set $INTERFACE down

# 杀掉可能占用网卡的进程
sudo airmon-ng check kill

# 设置Monitor模式
sudo iw dev $INTERFACE set type monitor

# 启动网卡
sudo ip link set $INTERFACE up

# 验证
iwconfig $INTERFACE

echo "Monitor模式已开启,接口:$INTERFACE"

2.5 Wireshark基础配置调优

装好Wireshark后,别急着抓包。先做几个配置,能让你后面分析时省不少事。

2.5.1 关键配置项

配置项 推荐值 说明
Capture → Options → Buffer size 256 MB 缓冲区太小容易丢包
Capture → Options → Enable promiscuous mode 勾选 混杂模式,收所有帧
Capture → Options → Monitor mode 勾选 无线监控模式(如果网卡支持)
Edit → Preferences → Appearance → Layout Packet List + Packet Details + Packet Bytes 三栏布局最实用
Edit → Preferences → Protocols → IEEE 802.11 勾选「Decode 802.11 + LLC」 正确解析无线帧头

2.5.2 常用显示过滤器

抓包时数据量很大,学会用过滤器能让你快速定位目标。这几个是我最常用的:

# 只看信标帧
wlan.fc.type_subtype == 0x08

# 只看探测请求
wlan.fc.type_subtype == 0x04

# 只看握手包(EAPOL)
eapol

# 只看某个BSSID的包
wlan.bssid == xx:xx:xx:xx:xx:xx

# 只看某个信道的包
radiotap.channel.freq == 2412

# 只看数据帧
wlan.fc.type == 2

小技巧:在Wireshark里输入过滤器时,按Tab键会自动补全。这个功能很多人不知道,但真的很好用。

2.6 常见问题与避坑

这些年帮人排查环境问题,总结下来就这几类:

  • 抓不到包:八成是网卡没进Monitor模式。用 iwconfig 或Wireshark界面确认一下。
  • 抓到包但全是以太网帧:驱动把802.11帧头剥离了。换驱动或换网卡。
  • Wireshark闪退:缓冲区设太大或驱动冲突。先调小缓冲区试试。
  • macOS下权限不足:安装ChmodBPF,或者用 sudo wireshark 启动(不推荐长期用root)。

我曾经遇到过一个奇葩问题——在Windows上用Alfa网卡,抓包时Wireshark能识别网卡,但一按开始就报错。折腾了两小时,最后发现是USB延长线质量太差,供电不足。换了个带屏蔽的USB线,问题解决。嗯,有时候问题不在软件,在硬件。

2.7 本章小结

环境搭建这件事,说难不难,说简单也不简单。核心就三点:

  1. 网卡要对——支持Monitor模式是硬门槛
  2. 驱动要装对——Windows下Npcap的选项别漏
  3. 模式要开对——Monitor模式没开,一切白搭