跳过正文
什么是数据包注入?测试你的 WiFi 网卡在 Kali Linux 的兼容性
  1. 博客/

什么是数据包注入?测试你的 WiFi 网卡在 Kali Linux 的兼容性

目录

数据包注入——正式名称为 802.11 帧注入——是指无线网卡向无线介质发送任意 802.11 帧的能力,包括那些并非由网卡自身网络协议栈所生成的帧。在正常工作状态下,无线驱动程序只会构造和发送操作系统合法生成的帧,例如关联请求、已连接网络的数据帧等。数据包注入绕过了这些限制,允许 aireplay-ng 等工具自由构造并发送任意类型的帧——包括管理帧、控制帧或数据帧——并可自定义内容、源地址与目标地址。

什么是数据包注入?
#

TL;DR: 数据包注入是网卡传送任意 802.11 讯框的能力,受限于驱动程序而非硬件。RTL8812AU、MT7612U、MT7921AUN 芯片组的 ALFA 网卡搭配 aircrack-ng 驱动即可完整支持。

数据包注入让无线网卡传送任意 802.11 讯框,是解除认证攻击与握手包截取的核心能力。需具备支持的芯片组与驱动程序才能运作。

这项能力在多种无线安全评估场景中不可或缺:

  • 加速捕获 WPA/WPA2 握手包 — 发送解除认证帧,强制客户端重新进行身份验证,从而产生新的四次握手过程,供后续离线分析使用。
  • 验证 WPA 握手包完整性 — 确认已捕获的握手文件是否完整,能否用于离线破解。
  • 重放攻击 — 重放已捕获的 ARP 数据包,为 WEP 破解(适用于老旧测试环境)生成 IV(初始化向量)流量。
  • 构造恶意双胞胎 (Evil Twin) / 流氓接入点 — 通过注入信标帧和探测响应帧来模拟真实接入点。
  • 拒绝服务测试 — 在经授权的测试环境中,评估网络对解除认证洪泛攻击的响应与抵御能力。

法律声明: 在未获得明确书面授权的情况下,对他人网络或设备执行数据包注入,在绝大多数国家和地区均属违法行为。本文所介绍的所有技术,仅限用于经过授权的渗透测试、针对自有设备的安全研究,以及学术学习用途。


为什么大多数网卡无法注入数据包
#

这个问题的根源不在硬件,而在于驱动程序。面向消费市场的无线网卡所使用的标准驱动程序,是按照 802.11 标准的正常工作模型编写的。驱动程序会对发出的帧进行校验,强制执行关联状态检查,并拒绝任何不符合预期流程的帧。

要支持数据包注入,驱动程序必须开放一条原始帧发送通道,以绕过上述种种限制。Linux 内核的 mac80211 子系统通过 IEEE80211_HW_SUPPORTS_RAW_TX 标志提供了这一能力,但前提是驱动程序必须主动启用它。然而,绝大多数消费级网卡的原厂驱动程序并不会启用原始 TX——因为普通消费场景根本不需要这个功能,而开放它还会带来潜在的滥用风险。

此外,某些芯片组使用专有固件在内部处理 MAC 层逻辑,即便驱动程序有意支持,主机也无法向其注入任意帧。这种情况在专为企业笔记本或消费级笔记本设计的 Broadcom 和 Intel 芯片中尤为常见。


支持数据包注入的芯片组
#

以下芯片组在 Kali Linux 上具有成熟、稳定的数据包注入支持,均被应用于 ALFA Network 无线网卡:

Realtek RTL8812AU
#

截至 2024—2026 年,渗透测试领域最受欢迎的芯片组。支持双频(2.4/5 GHz)、802.11ac 协议,由 aircrack-ng GitHub 仓库维护的社区版 rtl8812au 驱动程序提供支持。监听模式与数据包注入均运行稳定可靠。

Mediatek MT7612U
#

双频 802.11ac 芯片组,配备维护良好的内核树驱动程序(mt76)。监听模式与注入功能已并入上游内核,在大多数当前版本的 Kali Linux 上无需额外安装树外驱动程序。

Mediatek MT7921AUN(Wi-Fi 6E)
#

本列表中最新的芯片组,搭载于 AWUS036AXML。支持 2.4/5/6 GHz 三频、802.11ax 协议。mt7921u 驱动程序需要内核 5.18 或更高版本。监听模式与数据包注入已获确认支持,但由于驱动程序较新,在较旧的发行版上可能存在个别边缘情况问题。


使用 aireplay-ng 测试数据包注入
#

在实际测试中依赖注入功能之前,务必先验证你所使用的网卡与驱动程序组合是否正常工作。注入支持会因内核版本和驱动程序版本的差异而有所不同。

前置条件
#

你的网卡必须已处于监听模式。如果尚未开启,请先执行以下命令:

sudo airmon-ng check kill
sudo airmon-ng start wlan0

确认监听网络接口已成功创建:

iwconfig
# 查找输出中包含:Mode:Monitor

执行注入测试
#

sudo aireplay-ng --test wlan0mon

成功输出示例
#

09:15:34  Trying broadcast probe requests...
09:15:34  Injection is working!
09:15:36  Found 3 APs

09:15:36  Trying directed probe requests...
09:15:36   AA:BB:CC:DD:EE:01 - channel: 6 - 'HomeNetwork'
09:15:37  Ping (min/avg/max): 1.153ms/5.464ms/12.214ms Power: -62
09:15:37  29/30: 96%

09:15:37   AA:BB:CC:DD:EE:02 - channel: 11 - 'OfficeWiFi'
09:15:38  Ping (min/avg/max): 2.101ms/6.322ms/14.881ms Power: -71
09:15:38  28/30: 93%

注入功能正常时,输出中会显示 “Injection is working!”,并附有对周边接入点的 ping 成功率。成功率高于 80% 表示工作状态良好;低于 50% 则可能存在干扰、距离过远或驱动程序问题。

失败输出示例
#

09:15:34  Trying broadcast probe requests...
09:15:36  No Answer...
09:15:36  Injection is working! (RTL)
09:15:36  Trying directed probe requests...
09:15:37   AA:BB:CC:DD:EE:01 - channel: 6 - 'HomeNetwork'
09:15:39  Failed!

或在完全失败的情况下:

09:15:34  Trying broadcast probe requests...
09:15:46  No Answer...
09:15:46  Injection is NOT working!

出现 “Injection is NOT working!” 即为明确的失败信号,说明该网卡不支持注入,或驱动程序未正确安装。


支持数据包注入的 ALFA 网卡型号
#

所有主流 ALFA Network 网卡型号,在 Kali Linux 上配合正确的驱动程序使用时,均支持数据包注入:

型号芯片组频段注入支持
AWUS036ACHRTL8812AU2.4 / 5 GHz✅ 完整支持
AWUS036AXMLMT7921AUN2.4 / 5 / 6 GHz✅ 完整支持(需内核 5.18+)
AWUS036ACMMT7612U2.4 / 5 GHz✅ 完整支持

常见注入测试失败原因与解决方法
#

开启监听模式后立即提示 “Injection is NOT working!”
#

最常见的原因是 NetworkManager 或 wpa_supplicant 仍在后台运行。终止这些进程后重试:

sudo airmon-ng check kill
sudo airmon-ng stop wlan0mon
sudo airmon-ng start wlan0
sudo aireplay-ng --test wlan0mon

成功率偏低(低于 50%)
#

  • 距离问题: 靠近附近的接入点后重新测试。
  • 信道不匹配: 将监听网络接口锁定到与目标接入点相同的信道:sudo iwconfig wlan0mon channel 6
  • 驱动程序问题: 重新安装树外驱动程序。以 RTL8812AU 为例:从 https://github.com/aircrack-ng/rtl8812au 克隆仓库,然后执行 sudo make dkms_install

内核模块无法加载
#

sudo modprobe -r rtl8812au
sudo modprobe rtl8812au
dmesg | tail -20

检查 dmesg 中与该模块相关的错误信息。缺少固件文件是常见问题——请安装 firmware-linux-nonfree 或对应芯片组的固件软件包。

插入网卡后未出现设备
#

lsusb
dmesg | tail -30

如果 lsusb 能识别到设备,但 ip link 中没有对应的无线网络接口出现,说明驱动程序绑定失败。通常意味着驱动程序未安装,或内核模块加载失败。


实战应用:在授权测试中使用数据包注入
#

捕获 WPA2 握手包
#

这是专业渗透测试中最常见的注入应用场景。先用 airodump-ng 在目标接入点的信道上开始抓包,然后用 aireplay-ng 发送解除认证帧,强制客户端断线重连:

# 终端 1:开始捕获
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w handshake wlan0mon

# 终端 2:发送解除认证帧(向指定客户端发送 5 个解除认证帧)
sudo aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon

切换回终端 1,观察 airodump-ng 右上角是否出现 WPA handshake: AA:BB:CC:DD:EE:FF 的提示信息。

解除认证测试(拒绝服务评估)
#

安全评估人员通过发送解除认证洪泛来测试无线网络的韧性,评估客户端是否能安全地重新关联,以及接入点是否具备日志记录或主动缓解此类攻击的能力。此类测试须在签署工作说明书(SOW)的前提下进行。


常見問題

什么是 WiFi 数据包注入?

数据包注入是网卡将任意 802.11 讯框直接传送至无线媒介的能力,让 aireplay-ng 等工具能建构并发送管理讯框、控制讯框与数据讯框。

为什么大多数网卡无法注入数据包?

限制在于驱动程序而非硬件。消费级驱动依标准操作模型验证输出讯框,需驱动明确启用 mac80211 的原始 TX 路径才能支持注入。

如何测试网卡是否支持数据包注入?

先启用监听模式,再执行 aireplay-ng --test wlan0mon。若输出 Injection is working! 即确认支持,成功率 80% 以上为可靠。

哪些 ALFA 网卡支持数据包注入?

AWUS036ACH(RTL8812AU)、AWUS036AXML(MT7921AUN)、AWUS036ACM(MT7612U)三款均完整支持,搭配正确驱动即可在 Kali Linux 上运行。

数据包注入测试成功率低于 50% 该如何改善?

靠近目标 AP、将监听接口锁定至相同信道、确认 TX Power 设定,并检查驱动程序是否为 aircrack-ng 版本而非发行版内置版本。

合规使用须知
#

数据包注入是一项强大的能力。其在经授权渗透测试中的合法应用场景已有充分验证——包括捕获握手包、核查无线安全控制措施,以及测试客户端行为。而对这项技术的滥用,不仅会造成实质危害,更属违法行为。

在使用前,请务必确保你已具备以下条件:

  • 在测试前取得网络所有者的书面授权
  • 持有明确涵盖无线测试范围的工作说明书
  • 充分了解当地关于无线安全测试的相关法律法规

本文所介绍的工具(aireplay-ng、airodump-ng、aircrack-ng)被纳入 Kali Linux,正是为了服务经授权的安全测试工作。请在此范围内合法使用。


如需选购经确认支持数据包注入的无线网卡,欢迎浏览 ALFA Network 产品系列(Yopitek 官方页面)——台湾 ALFA Network 授权经销商。

参考文献
#

  1. aircrack-ng 官方网站与文件
  2. aireplay-ng 使用说明
  3. Kali Linux 官方文档
  4. Linux mac80211 子系统文件
  5. IEEE 802.11 标准资源