跳过正文
ALFA 网卡 USB 直通:VirtualBox 与 VMware 设置指南
  1. 博客/

ALFA 网卡 USB 直通:VirtualBox 与 VMware 设置指南

目录

在虚拟机内使用 ALFA WiFi 网卡并非像插入后等待客户端操作系统自动识别那么简单。与共享文件夹或桥接网络不同,监听模式和原始数据包注入需要完整的 USB 控制权——虚拟机必须独占 USB 设备,而不是通过主机的网络栈共享。这称为 USB 直通(USB passthrough),正确配置是在 VM 环境中工作的渗透测试人员和 CTF 玩家最常遇到的设置失败原因。

TL;DR: 在 VirtualBox 或 VMware 中使用 ALFA 网卡需设定 USB 直通。VirtualBox 需安装 Extension Pack 并启用 USB 3.0 控制器;VMware 内置 USB 支持但需确认仲裁器服务运行。AWUS036ACH 用 88XXau 驱动,AWUS036AXML 用 mt7921u 驱动。

本指南涵盖 VirtualBox 7.xVMware Workstation 17+ / VMware Fusion 13+ 的完整直通设置,以 Kali Linux 作为客户端操作系统。文中针对 AWUS036ACH(RTL8812AU 芯片组)和较新的 AWUS036AXML(MT7921AUN 芯片组)分别说明行为差异。

完成后,您的 ALFA 网卡将在 Kali 中通过 lsusb 显示,正确驱动程序已加载,且 airmon-ng 确认监听模式正常工作。


前提条件
#

开始之前,请确认您的环境符合以下要求。缺少任何一项——尤其是 VirtualBox Extension Pack——是大多数直通失败的根本原因。

需求详细说明
虚拟化平台VirtualBox 7.x + Extension Pack VMware Workstation 17+ / Fusion 13+
客户端操作系统Kali Linux 2024.x 或更新版本(已在 2024.1–2025.1 测试)
ALFA 网卡AWUS036ACH、AWUS036AXML、AWUS036ACM,或任何 RTL8812AU / MT7921AUN 设备
主机 USB 接口建议使用 USB 3.0(尤其是 AWUS036AXML)
主机操作系统Windows 10/11、Linux 或 macOS(Fusion)
Sudo 权限Kali VM 内部需要
若您尚未在 Kali 内安装驱动程序,请先完成本指南的 USB 直通步骤。网卡在 VM 中可见后,再按照 ALFA 驱动程序安装指南 编译并加载正确的驱动程序。

VirtualBox USB 直通——逐步操作
#

VirtualBox 需要一个额外的组件——Extension Pack——才能支持 USB 2.0 和 USB 3.0 直通。若未安装,只能使用 USB 1.1(OHCI),这对现代 ALFA 网卡来说是不够的。

安装 VirtualBox Extension Pack
#

  1. 打开 virtualbox.org/wiki/Downloads
  2. VirtualBox Extension Pack 下,点击 All supported platforms 下载 .vbox-extpack 文件。版本必须与您安装的 VirtualBox 版本完全一致。
  3. 打开 VirtualBox,前往 文件 → 首选项 → 扩展(macOS:VirtualBox → 偏好设置 → 扩展)。
  4. 点击 + 图标,浏览到下载的 .vbox-extpack,然后安装。出现提示时接受许可证。

从命令行验证 Extension Pack 是否已激活:

VBoxManage list extpacks

预期输出:

Extension Packs: 1
Pack no. 0:   Oracle VirtualBox Extension Pack
Version:      7.0.x
...
Usable:       true
Usable 字段显示 false,表示 Extension Pack 版本与 VirtualBox 版本不匹配。请卸载后重新安装正确版本。

将用户添加到 vboxusers 组(仅限 Linux 主机)
#

在 Linux 主机上,您的用户账号必须是 vboxusers 组的成员才能访问 USB 设备。

sudo usermod -aG vboxusers $USER && newgrp vboxusers

执行后,请注销并重新登录(或重启)使组更改生效。可以用以下命令验证:

groups $USER

输出应包含 vboxusers

在 VM 设置中启用 USB 控制器
#

  1. 若 Kali VM 正在运行,请先关闭。
  2. 选择 VM,点击 设置 → USB
  3. 勾选 启用 USB 控制器
  4. 从单选按钮选择 USB 3.0 (xHCI) 控制器
AWUS036AXML 需要 USB 3.0(xHCI)。AWUS036ACH 本身是 USB 2.0 设备,使用 USB 2.0(EHCI)在技术上已足够,但使用 xHCI 不会造成问题,且能保持配置一致性。

添加 USB 设备过滤器
#

  1. 在同一个 设置 → USB 面板中,点击 + 图标(从设备添加 USB 过滤器)。
  2. 若 ALFA 网卡尚未连接,现在插入。VirtualBox 会在下拉菜单中显示它。
  3. 选择设备。通常显示为 “Realtek 802.11ac NIC”(AWUS036ACH)或 “MediaTek Corp. 802.11 b/g/n”(AWUS036AXML)。
  4. 点击 确定 保存。

启动 VM 并用 lsusb 验证
#

启动 Kali VM。桌面加载后,打开终端并运行:

lsusb

您应该看到类似以下的输出:

Bus 001 Device 003: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter

或 AWUS036AXML:

Bus 002 Device 002: ID 0e8d:7961 MediaTek Inc. Wireless_Device

加载驱动程序
#

AWUS036ACH(RTL8812AU):

sudo modprobe 88XXau

若失败(找不到模块),请先安装 DKMS 软件包:

sudo apt update && sudo apt install -y realtek-rtl88xxau-dkms
sudo modprobe 88XXau

AWUS036AXML(MT7921AUN):

sudo modprobe mt7921u

验证监听模式
#

sudo airmon-ng start wlan1
sudo iwconfig wlan1mon

Mode 字段应显示 Monitor

VirtualBox 常见错误
#

错误原因修复方法
USB 设置中"无可用 USB 设备"未安装 Extension Pack 或版本不符安装对应版本的 Extension Pack
网卡未被捕获 / lsusb 中不可见用户不在 vboxusers 组(Linux 主机)sudo usermod -aG vboxusers $USER,然后注销/登录
“USB 设备正被先前的请求使用”主机上的其他进程正在使用该设备启动 VM 前拔出并重新插入网卡
设备在 VM 内持续断线未启用 USB 3.0 控制器;VM 使用 OHCI在 VM 设置 → USB 中切换至 USB 3.0(xHCI)
过滤器已添加但设备未自动捕获在安装 Extension Pack 之前创建过滤器删除过滤器,安装 Extension Pack,再重新添加

VMware Workstation / VMware Fusion USB 直通
#

VMware 处理 USB 直通的方式与 VirtualBox 不同。无需安装额外扩展——USB 2.0 和 3.0 支持已内置于 VMware Workstation 17+ 和 Fusion 13+。主要机制是 USB 仲裁器服务,负责监控主机 USB 事件并将设备路由至 VM。

通过设备菜单连接网卡
#

在 VM 运行期间插入 ALFA 网卡时,VMware 通常会显示弹出窗口询问哪个 VM 应拥有该设备。若错过弹出窗口:

  1. 在 Kali VM 运行时,前往菜单栏的 VM → 可移动设备
  2. 展开列表,找到您的 ALFA 网卡(例如 Realtek 802.11ac NIC)。
  3. 点击 连接(从主机断开)

VMware Fusion(macOS)
#

  1. 前往 虚拟机 → USB 与蓝牙
  2. 在列表中找到 ALFA 网卡。
  3. 将连接切换至 连接到 Linux(或您的 Kali VM 名称)。

验证并加载驱动程序
#

连接后,在 Kali 内部验证:

lsusb

然后按照上述 VirtualBox 章节加载适当的驱动程序。

检查 VMware USB 仲裁器服务
#

若 ALFA 网卡未出现在 可移动设备 菜单中,USB 仲裁器服务可能未运行。在 Linux 主机上:

sudo systemctl status vmware-usbarbitrator

若已停止:

sudo systemctl start vmware-usbarbitrator
sudo systemctl enable vmware-usbarbitrator

在 VMware 中启用 USB 3.0
#

打开 Kali VM 的 .vmx 文件,确认或添加:

usb_xhci.present = "TRUE"
需要 VMware 硬件版本 14 或更新版本才能支持 USB 3.0(xHCI)。若您的 VM 是以旧版硬件版本创建的,请通过 VM → 管理 → 更改硬件兼容性 升级。

VMware 常见错误
#

错误原因修复方法
可移动设备菜单中找不到网卡USB 仲裁器未运行启动 vmware-usbarbitrator 服务
设备连接后立即断线主机操作系统驱动程序夺回设备禁用主机的网卡 WiFi 驱动程序,或更快速地重新连接
“设备已被主机使用”主机操作系统已声明该设备在 VM 中连接前,先从主机移除
VM 内无 USB 3.0 速度VM 硬件版本 < 14 或未启用 xHCI升级硬件版本,在 .vmx 中添加 usb_xhci.present = "TRUE"
直通后监听模式仍失败Kali 内驱动程序错误或缺失按照 驱动程序安装指南 操作

网卡特定说明
#

AWUS036ACH(RTL8812AU)
#

AWUS036ACH 是 USB 2.0 设备,在 VM 环境中是测试最充分的网卡之一。VirtualBox 和 VMware 都能可靠地处理它。驱动程序包:realtek-rtl88xxau-dkms。模块名称:88XXau

AWUS036AXML(MT7921AUN)
#

AWUS036AXML 是支持 WiFi 6E 的 USB 3.0 设备,在 VM 环境中有一些特殊情况。必须使用 USB 3.0(xHCI)控制器。固件包:firmware-misc-nonfree。某些早期型号在 VirtualBox USB 3.0 仲裁下可能发生周期性冻结问题。VMware Workstation 对 AWUS036AXML 的 USB 3.0 直通通常比 VirtualBox 更稳定。

完整评测:AWUS036AXML WiFi 6E 评测

AWUS036ACM(MT7612U,双天线)
#

AWUS036ACM 使用 MediaTek MT7612U 芯片,驱动程序已内置于 Linux 内核(mt76x2u,自内核 4.19 起纳入主线)。无需额外安装驱动程序——完成直通配置后,网卡即可在虚拟机内即插即用。若未自动加载,请运行 sudo modprobe mt76x2u。AWUS036ACM 配备两个 RP-SMA 天线接口。


性能调优建议
#

禁用主机的 USB 自动挂起:

echo -1 | sudo tee /sys/module/usbcore/parameters/autosuspend

分配足够的 VM 资源:

  • 2 个 CPU 核心(建议 4 个)
  • 2 GB RAM(若运行完整 Kali 桌面,建议 4 GB)

在渗透测试任务前创建 VM 快照。

对于超过 30 分钟的抓包会话,考虑在网卡和主机之间使用有源 USB 集线器,以提供稳定电源,防止电压降导致网卡在关键抓包期间断线。

裸机 vs VM:诚实对比
#

功能裸机 KaliVirtualBox + KaliVMware + Kali
驱动程序支持完整、直接良好(需 Extension Pack)良好(内置 USB)
监听模式稳定性优秀良好良好–优秀
数据包注入可靠性优秀良好(偶尔丢包)良好–优秀
设置时间高(需专用硬件)低–中低–中
可移植性高(快照、可移植)
CTF / 实验室使用大材小用理想理想
专业渗透测试推荐可接受可接受

故障排除快速参考
#

症状最可能原因解决方案
Kali 内 lsusb 无显示USB 直通未配置添加 USB 过滤器(VBox)或通过可移动设备连接(VMware)
VirtualBox USB 设置中"无 USB 设备"Extension Pack 缺失或版本不符安装对应版本的 Extension Pack
lsusb 可见网卡但无 wlan 接口驱动程序未加载sudo modprobe 88XXausudo modprobe mt7921u
modprobe: FATAL: Module 88XXau not found未安装 DKMS 包sudo apt install realtek-rtl88xxau-dkms
接口出现后消失USB 自动挂起或 VBox xHCI 仲裁禁用自动挂起;ACH 尝试 USB 2.0 控制器
airmon-ng 启动但监听模式静默失败驱动程序错误或网络管理器冲突sudo airmon-ng check kill,然后重试
VirtualBox USB 过滤器开机时未自动捕获在安装 Extension Pack 之前添加过滤器删除过滤器,安装 Extension Pack,重新添加
VMware 在长时间会话中丢失设备VMware USB 仲裁器服务停止重新启用并设为自动启动

常見問題

VirtualBox 使用 ALFA 网卡需要安装 Extension Pack 吗?

需要。VirtualBox 必须安装 Extension Pack 才能支持 USB 2.0 与 USB 3.0 直通,否则只能使用 USB 1.1,不足以驱动现代 ALFA 网卡。

ALFA 网卡应该选 USB 2.0 还是 USB 3.0 控制器?

AWUS036AXML 必须使用 USB 3.0(xHCI)。AWUS036ACH 本身是 USB 2.0 装置,但使用 xHCI 不会造成问题,建议统一设为 USB 3.0。

VMware Workstation 需要额外安装扩充软件包吗?

不需要。VMware Workstation 17+ 与 Fusion 13+ 已内置 USB 2.0/3.0 支持,只需确认 USB 仲裁器服务正在执行。

为什么 lsusb 看得到网卡却没有 wlan 接口?

USB 直通成功但驱动程序未加载。RTL8812AU 需执行 modprobe 88XXau 或安装 realtek-rtl88xxau-dkms,MT7921AUN 需执行 modprobe mt7921u。

Linux 主机上 USB 网卡持续断线怎么办?

停用 USB 自动暂停:执行 echo -1 | sudo tee /sys/module/usbcore/parameters/autosuspend,并确认用户已加入 vboxusers 群组。

后续步骤
#

参考文献
#

  1. VirtualBox 官方下载页面
  2. VMware Workstation 产品页面
  3. aircrack-ng rtl8812au 驱动专案
  4. ALFA Network 官方网站
  5. Kali Linux 官方文档