1. 为什么偏偏是AX210这张网卡做无线抓包这行当的人手里必备的工具就是Wireshark。以前我一直在用USB外置网卡做抓包比如老牌的Realtek RTL8812AU之类原因是它们对Linux的驱动支持比较成熟监听模式Monitor Mode开起来很顺手。但这两年网卡芯片更新换代很多新笔记本出厂自带的就是Intel AX210这张卡在Windows下口碑不错可一拿到Ubuntu下做抓包很多人就开始犯嘀咕这卡到底能不能抓监听模式支持不支持为什么明明连上了Wi-FiWireshark里却什么都看不到这篇文章就围绕AX210在Ubuntu系统下的Wireshark抓包实践展开从驱动验证、权限配置、监听模式开启到真实抓包操作和踩坑排查一条线走完。无论你是网络运维、安全测试、嵌入式开发还是想自学抓包的爱好者只要手里是AX210这颗芯的无线网卡这篇东西应该能帮你少走不少弯路。先说结论AX210完全可以在Ubuntu下做无线抓包但它的监听模式支持有一定前提而且因为驱动栈走的是mac80211/cfg80211这套体系抓包行为和那些老牌的USB网卡不太一样。你要是不清楚这些差异很容易在第一步就卡住——网卡明明活着可就是进不了监听模式。2. 动手前的三板斧系统、驱动、工具确认2.1 先确认你的内核版本和系统版本AX210从驱动角度来说依赖的是iwlwifi内核模块。这个模块在Linux内核中从5.10版本左右就开始支持AX210对应硬件ID 0x2725那一批后续每个版本都在修bug补特性。所以你在Ubuntu上做抓包第一件事不是装Wireshark而是确认内核版本够不够新。查内核版本用这个命令uname -a我个人的建议是内核版本至少5.15以上对应Ubuntu 22.04 LTS默认内核就能满足。如果你的系统是20.04内核停留在5.4那很可能连网卡驱动都加载不正常。这种情况我建议直接升级到22.04别折腾什么手动编译驱动——Intel的无线驱动体系复杂手动搞容易把系统搞挂。然后用lspci确认硬件识别情况lspci -nn | grep -i network正常你应看到类似输出00:14.3 Network controller [0280]: Intel Corporation Wi-Fi 6E AX210 160MHz [8086:2725] (rev 1a)有这行输出说明系统已经识别到硬件的PCI标识。如果这里什么都没有那就是网卡物理没识别或者被BIOS里禁用了需要去BIOS设置里检查无线网卡开关。2.2 驱动加载状态而不是只看“能连Wi-Fi”很多人的误区是我能连上Wi-Fi说明驱动没问题。但做抓包驱动不仅要能连接AP还要能进入监听模式、能上报足够的元数据给上层工具。用下面的命令看驱动模块lsmod | grep iwlwifi输出里你会看到iwlwifi、cfg80211、mac80211这些模块。如果都有用dmesg再确认固件加载日志dmesg | grep iwlwifi | tail -20正常情况能看到类似Detected Intel Wi-Fi 6E AX210、iwlwifi 0000:00:14.3: loaded firmware version ...这样的日志。如果你看到的是firmware file not found或者failed to load那就是固件缺失问题需要检查linux-firmware包是否安装或是否过旧sudo apt install --reinstall linux-firmware这里要特别提醒一下固件版本和内核版本之间有匹配关系。一般原则是Ubuntu官方源里的linux-firmware包跟当前系统内核配套不要去网上随便下载一个最新固件替换反而可能因为API不匹配导致驱动加载失败。2.3 检查无线接口和现有网络连接驱动加载没问题后用iw命令看一下无线接口iw dev你会看到类似phy#0 Interface wlp0s20f3 ifindex 3 wdev 0x1 addr xx:xx:xx:xx:xx:xx type managed注意这个type managed这是正常的Station模式。做监听的时候我们需要把它改成monitor。这里顺便解释一下接口名的规律wlp0s20f3是PCIe无线网卡的常规命名方式不同的系统版本可能略有差异但只要你看到wl开头基本就没错。2.4 安装Wireshark和必需工具Ubuntu下装Wireshark很简单sudo apt update sudo apt install wireshark tshark iw wireless-tools安装过程中系统会弹一个对话框问你是否允许非root用户抓包。这里一定要选“是”选错了后面权限会特别麻烦。如果安装时跳过了或者选了“否”可以用下面的命令重新配置sudo dpkg-reconfigure wireshark-common同时记得把当前用户加入wireshark组sudo usermod -aG wireshark $USER改完组之后一定要注销重新登录或者直接重启组权限才会生效。很多人这一步忘记了导致后面打开Wireshark看不到任何接口权限。Wireshark装好后版本确认一下wireshark --versionUbuntu 22.04源里的Wireshark版本是3.6.x做常规抓包没什么问题。如果你需要更新的版本可以加Wireshark官方PPAsudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark不过我的经验是官方源版本够用除非你有特定的DPI插件或新协议解析需求否则没必要折腾PPA。3. 监听模式无线抓包的关键前提3.1 为什么监听模式决定了抓包成败有线网络的抓包网卡只要处于正常收发状态交换机端口镜像是另一回事但本地回环或者直连场景下基本插上就能抓。无线完全不同你自己连着Wi-Fi上网时网卡只接收发给自己的帧其他设备之间的数据帧直接被网卡硬件过滤掉了。你想用Wireshark看到整个无线信道的帧就必须让网卡进入监听模式等于告诉网卡别管收到的是不是发给我的先统统交上来再说。这就是为什么很多人第一次尝试无线抓包会失败——Wireshark里选择的是自己正连接的Wi-Fi接口却只能看到零零散散的ARP或者自己设备的流量。不是Wireshark有问题是网卡还在正常Station模式工作根本没在监听整个信道。3.2 AX210开启监听模式的正规姿势AX210的驱动栈决定了它依赖cfg80211接口来实现监听模式。开启方式有两种方法一用iw命令sudo ip link set wlp0s20f3 down sudo iw dev wlp0s20f3 set type monitor sudo ip link set wlp0s20f3 up方法二直接用iw的del/add接口方式sudo iw dev wlp0s20f3 interface add mon0 type monitor第二种方式会在同一个物理网卡上创建一个名为mon0的虚拟监听接口好处是原接口可以保留不过AX210实际使用中这两个接口同时工作常常会出问题坏处是很多老工具对虚拟接口支持不好。我推荐第一种直接切type。整套命令执行完后再用iw dev确认Interface wlp0s20f3 ifindex 3 wdev 0x1 addr xx:xx:xx:xx:xx:xx type monitor看到type monitor就说明成功进入了监听模式。但这里有一个AX210特有的坑ip link set down会把Wi-Fi连接断开切换后你再想连回同一个Wi-Fi得重新扫描连接。如果你在抓包过程中需要上网查资料就得频繁切换模式很麻烦。我的做法是准备一台备用终端手机或另一台电脑用来查资料抓包机保持监听模式不动。3.3 为什么用airmon-ng不灵很多玩无线安全的老手习惯用Aircrack-ng套件airmon-ng start wlan0一条命令就切监听。但在AX210上这套路经常行不通。原因也简单airmon-ng本质上还是调用iw的接口切换但它多做一些网络管理服务停用、接口重建的操作。AX210的mac80211驱动对接口重建支持一般容易出现Interface wlp0s20f3 still having station type之类的问题或者切完监听模式后信道扫描异常。所以我建议直接用iw操作干净利落。3.4 监听模式的验证方法切完模式别急着打开Wireshark先验证一下网卡是否真的在监听。最直接的方式是指定信道然后看能不能收到周围AP的信标帧sudo iw dev wlp0s20f3 set channel 6 sudo iw dev wlp0s20f3 scan注意监听模式下部分驱动不支持主动扫描所以scan命令可能直接返回无结果。这不代表网卡有问题。更可靠的验证方式是直接开Wireshark抓包看能不能收到Beacon帧。你也可以用tcpdump快速验证sudo tcpdump -i wlp0s20f3 -n -c 20如果环境中有Wi-Fi信号20个包应该几秒钟内就能抓到而且你会在包列表里看到大量的Beacon帧和Probe Response帧。如果你抓到了这些帧恭喜你AX210的监听链路已经通了。4. Wireshark里的实际操作抓什么、怎么抓、怎么看4.1 打开Wireshark并选择正确的接口设置好监听模式后打开Wireshark你会看到一个接口列表。在Linux上问题来了Wireshark图形界面里列出的接口有时候不会自动刷新监听模式下的新接口名。如果找不到你的无线接口先关掉Wireshark确认接口处于监听模式再打开Wireshark这时列表里通常就能看到名为wlp0s20f3的接口。还有一种情况Wireshark列表里所有接口都是灰色的不可选状态那是权限问题——检查你当前用户是否在wireshark组里没加就usermod -aG wireshark $USER加完重启Wireshark。选择你的无线接口点击开始捕获按钮。Wireshark会弹出和无线信道相关的提示吗不会它不会管信道的事情。信道是由网卡驱动控制的Wireshark只负责从接口上收包。4.2 信道设置别让网卡在错误信道空转监听模式下最关键的一个参数是信道Channel但Wireshark的GUI里并没有直接改无线信道的选项。你需要提前用iw命令把网卡固定在某个信道上sudo iw dev wlp0s20f3 set channel 6为什么必须固定信道因为网卡在监听模式下的默认行为可能是漂移的它会跟随之前连接的AP信道或者默认锁在某个信道上。如果你发现Wireshark在跑但收到的无线帧极少大概率就是网卡还停在一个没几个AP在用的信道上。2.4GHz频段的信道是1、6、115GHz频段信道更多。你想抓特定网络就先知道它工作在哪个信道。最简单的办法用手机上的Wi-Fi扫描工具看一下周围热点在哪些信道或者先用普通模式连上Wi-Fi后用iw dev wlp0s20f3 link命令查看当前频率。对于5GHz和6GHz频段AX210需要配合区域管制regulatory domain设置。默认情况下Ubuntu的regulatory domain可能是宽松的但如果你发现有些5GHz信道无法锁定先用下面的命令看当前区域iw reg get如果显示country 00说明没有设置区域代码。这时你可以临时设置一个区域来解锁更多信道注意这涉及合法频段问题请确保你所用的信道在你的所在地区允许使用sudo iw reg set CN不过我的经验是在中国区AX210的5GHz信道基本都能用2.4GHz就更没问题了。真正需要纠结信道约束的场景不多。4.3 抓包过滤器先减少噪音再分析监听模式下的无线环境尤其是商场、公司、住宅区噪音非常可观。你开着抓包就会看到密密麻麻的Beacon帧、Probe Request、以及周围各种设备的广播帧。直接这样分析会让大脑爆炸所以上手第一步就要学会用捕获过滤器。推荐几个常用场景的过滤器写法只抓特定BSSIDAP的MAC地址的流量wlan.addr aa:bb:cc:dd:ee:ff只抓管理帧wlan.fc.type 0只抓数据帧wlan.fc.type 2只抓特定信道前提是你设了信道固定radiotap.channel.freq 2437注意Linux下无线抓包默认会带Radiotap头部这个头部里包含了信号强度、信道、速率等元数据Wireshark里叫Radiotap。你可以在Wireshark的显示过滤器里用frame开头的字段查看这些信息比如信号强度对应radiotap.dbm_antsignal。刚开始抓无线包建议不要急着用太细的过滤器直接全量抓个30秒然后暂停再做显示过滤分析反而更容易发现异常。捕获过滤器Capture Filter一旦设死没抓到的数据就永远没了显示过滤器Display Filter只是从内存里过滤显示数据都还在。无线抓包的核心技巧是先全抓再慢慢过滤。4.4 分析流量从统计分析到跟随流抓到包以后怎么分析除了看协议树、跟TCP流这类基本功无线抓包多了几个维度信号强度、重传、周围设备数量。在Wireshark菜单里打开统计 - 无线局域网 - WLAN流量可以看到按BSSID、SSID、信道分组的数据统计。这把每个AP的流量占比一目了然。另一个有用的面板是统计 - 无线局域网 - WLAN统计能看到每个站点的帧类型分布。信号强度怎么看点击任意一个无线帧展开Radiotap头部里的dBm Antenna Signal字段负值越大信号越差。-60dBm算正常-85dBm就是很差了。我在野外测试的时候经常用这个字段判断是否该挪动天线位置。5. 排错实录AX210抓包最常见的四个坑5.1 切完监听模式后网卡彻底消失了表现执行ip link set wlp0s20f3 up之后iw dev什么都看不到ip addr里也没有无线接口。原因AX210在切换接口类型时如果上层有NetworkManager在管控可能直接把接口重置甚至把网卡down掉。解决先停掉NetworkManager对这张网卡的托管sudo systemctl stop NetworkManager然后再走一遍切换流程。这个方案在Ubuntu 22.04上实测最稳。抓包完成后再重新启动NetworkManagersudo systemctl start NetworkManager5.2 Wireshark里看不到接口只有lo和eth0这种情况十有八九是权限问题。检查一下自己是不是在wireshark组里groups $USER输出里如果没有wireshark按前面说的usermod -aG wireshark $USER加入。重登后再看。还有一种情况Wireshark是通过pkexec或sudo启动的导致它以root身份运行但不读你的用户配置。我的建议是别用sudo直接启动Wireshark就用普通用户跑靠组权限来抓包这样你的显示过滤器和配置文件才能正常工作。5.3 能收到数据帧但收不到Beacon帧现象Wireshark跑起来能看到数据帧但就是看不到Wi-Fi周围AP定期广播的信标帧一开始怀疑是驱动问题。排查过程这个情况我遇到过几次后面仔细看抓包数据发现Beacon帧其实都在但我的显示过滤器只写了wlan.fc.type 0而Beacon帧的subtype是8所以要过滤的话应该用wlan.fc.type_subtype 0x08更隐蔽的一个原因是某些版本的Wireshark对802.11协议解析默认关闭了某些管理帧子协议的详情展示但不影响数据捕获。遇到“看不到”时先确认是不是过滤器写粗了。5.4 抓包速率极低页面刷新半天都是一堆重复表现在信号较强的环境下抓包速率还不如有线网卡。原因一信道没有固定网卡在被动扫描模式下会跳来跳去导致每个信道只待极短时间。原因二探测响应被驱动过滤了。解决拉高信道固定频率重新指定信道同时在Wireshark里查看Radiotap头部的Channel Frequency字段确认当前接收帧确实在这个信道上。如果还不行看一眼接收信号强度排除把网卡放在金属屏蔽环境里或者天线被盖住这类物理问题。6. 进阶玩法AX210能干的几件实用场景6.1 用tshark做无界面后台抓包Wireshark图形界面耗内存不小长时间监控时容易卡顿。我常用的做法是直接用tshark在后台跑把数据写到pcapng文件sudo tshark -i wlp0s20f3 -a duration:300 -w wifi_capture_$(date %F_%H%M).pcapng-a duration:300表示持续抓300秒后自动停止配合-f过滤器可以只抓目标流量。抓完再用Wireshark打开分析这在现场排障时极其好用图形界面还可以留着给领导展示实时流量图。6.2 结合Wi-Fi扫描做热能图AX210监听模式下可以提供很准确的信号强度数据配合Python脚本把, 可以分析一个小型场景里哪些位置信号强、哪些位置需要调整AP部署。做法很朴素拿着笔记本在场地里走动每到一个点位记录当前抓到的周边AP信号强度和时间戳再用脚本聚合数据。这套方法对办公室无线信号优化挺实用。6.3 排查“有人蹭网”或未授权设备你只需要公司SSID对应的已在列表的MAC地址然后监听模式下抓五分钟数据帧提取所有关联到该BSSID的STA地址。用Wireshark菜单里的工具 - 合并流程或者最简单的方式显示过滤器设为wlan.bssid xx:xx:xx:xx:xx:xx wlan.fc.type 2然后在统计面板里展开源地址就能看到有哪些MAC在跟AP通信。这里有个例外值得注意802.11帧里有一些是空数据帧Null Frame用于省电管理不携带上层信息但也算数据帧。如果你发现某个MAC只有空数据帧那可能是信号很弱的设备在跟AP同步真实数据没传多少。6.4 用AX210做802.11协议学习对想深入理解无线协议的人来说AX210这种原生PCIe网卡抓的包质量其实比很多USB网卡好。USB网卡在大量帧并发时会有明显的丢包导致捕获的帧序列不完整这对分析TCP重传行为影响很大。AX210走PCIe总线带宽充裕吞吐高的场景下表现更稳。你在Wireshark里打开一个TCP流的跟随窗口能看到整个握手过程栈清晰不会因为丢帧导致密钥交换和握手报文缺失。用来做协议分析、教学演示都很好。7. 最后的实战建议把抓包做成工作流根据这次项目总结所有环节走下来之后最受益的习惯是把抓包过程拆成固定模板第一步写一个切换监听模式的小脚本放在/usr/local/bin下面。每次抓包执行一条命令停用NetworkManager、设置接口down、切监听、固定信道、接口up一气呵成。脚本内容不复杂但能避免人工敲命令时漏掉哪一步#!/bin/bash IFACEwlp0s20f3 CHANNEL${1:-6} sudo systemctl stop NetworkManager sudo ip link set $IFACE down sudo iw dev $IFACE set type monitor sudo ip link set $IFACE up sudo iw dev $IFACE set channel $CHANNEL echo Monitor mode ready on channel $CHANNEL for $IFACE第二步抓包完成后恢复模式sudo ip link set wlp0s20f3 down sudo iw dev wlp0s20f3 set type managed sudo ip link set wlp0s20f3 up sudo systemctl start NetworkManager第三步统一数据文件命名包含日期、时间、信道、场景四个字段比如wifi_office_ch6_20250118_1430.pcapng。这样后续翻起历史数据不用回忆半天这是什么场景下的抓包。最后再说一个容易被忽略的小事抓包文件越大Wireshark打开越卡。建议每次抓包按需控制时长或者用-b参数比如tshark的sudo tshark -i wlp0s20f3 -b filesize:20000 -b files:10 -w rotating.pcapng单个文件20MB最多10个文件滚动覆盖这样长时间驻场测试时存储和内存压力都很小。两周前我为一个客户排查办公区无线信号问题用的正是这套流程macOS的笔记本AX210外接PCIe转接卡装Ubuntu固定信道6tshark后台滚动抓包一小时。后续从抓包文件里清晰还原了信号衰弱曲线和重传数据分布问题定位到是某个角落里的微波设备干扰。如果没有AX210这套监听链路这个case真不知道要折腾多久。希望这篇内容能帮你把AX210在Ubuntu下的抓包工作流顺利跑通少踩几个我当年踩过的坑。