在 Kali Linux 上以监控模式使用 Alfa AWUS1900 WLAN 设备

在 Kali Linux 上以监控模式使用 Alfa AWUS1900 WLAN 设备

我通过 Aircrack 购买了一台用于教育目的的 Alfa AWUS1900 WLAN 设备,因为它支持 Linux,并且一些帖子/评论证实了这一点。遗憾的是我无法让驱动程序在监控模式下工作,尤其是在新的 5er 内核上。

我的设置

该笔记本电脑运行带有 VirtualBox 的 Ubunu 18.04.3 LTS,我在其中创建了一个虚拟机最新的 Kali Linux,撰写本文时为 2019.3。 VirtualBox 安装了 USB 2 支持的扩展包。它以 root 身份运行以进行 USB 转发:

在此输入图像描述

我的芯片组

由于我阅读了有关用户为同一设备类型获取不同芯片组的评论,因此我插入设备并验证是否具有RTL8814AU芯片组:

root@kali:~# lsusb | grep -E "Realtek*"
Bus 001 Device 002: ID 0bda:8813 Realtek Semiconductor Corp. RTL8814AU 802.11a/b/g/n/ac Wireless Adapter

不工作的司机

在安装任何驱动程序之前创建了一个快照,并且在每个不工作的驱动程序之后,我返回到原始快照以获得一个干净的系统,并确保旧的驱动程序不会影响当前的系统。

zebulon2/rtl8814au

这位司机直接使用 Kali Linux 快照映像而不升级软件包时可以部分工作(有许多更新可用)。设备被检测到,网络管理器向我显示可用的 AP 以及使用的nmcli dev wifi命令。但设备处于托管模式:

root@kali:~/rtl8814au# iw dev | grep type
    type managed

我无法切换到监控模式:

root@kali:~/rtl8814au# airmon-ng check kill
Killing these processes:

  PID Name
  831 wpa_supplicant

root@kali:~/rtl8814au# airmon-ng start wlan0
PHY Interface   Driver      Chipset

phy0    wlan0       rtl8814au   Realtek Semiconductor Corp. RTL8814AU 802.11a/b/g/n/ac

ERROR adding monitor mode interface: command failed: Operation not supported (-95) 

即使没有ifconfig

root@kali:~/rtl8814au# ifconfig wlan0 down
root@kali:~/rtl8814au# iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Operation not permitted.

dmesg进入监控模式时的批次条目:

[  940.905187] RTL871X: ERROR HalPwrSeqCmdParsing: Fail to polling Offset[0x6]=00
[  940.905191] RTL871X: nolinked power save leave

有些帖子提到了一个错误,airmon-ng但说它应该适用于ifconfig.

Realtek-rtl88xxau-dkms

根据kali 论坛中的这个帖子realtek-rtl88xxau-dkms,存储库中有一个名为的包,其中应包含所有必需的驱动程序。所以我安装了他的依赖项就像这里描述的那样

apt install dkms &&
apt-get install bc &&
apt-get install build-essential &&
apt-get install linux-headers-$(uname -r) 

然后使用驱动程序包apt-get install realtek-rtl88xxau-dkms并将其插入我的 USB WiFi 设备。我想知道我收到一些关于缺少模块或文件名的错误,但我不清楚到底缺少什么以及是否需要它(因为它说安装已完成):

88XXau.ko:
Running module version sanity check.
modinfo: ERROR: missing module or filename.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.2.0-kali3-amd64/updates/

depmod....

DKMS: install completed.

dmesg检测到新设备,但几秒钟后它就断开了:

[ 1080.147957] usb 1-1: new high-speed USB device number 4 using ehci-pci
[ 1080.595125] usb 1-1: New USB device found, idVendor=0bda, idProduct=8813, bcdDevice= 0.00
[ 1080.595131] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1080.595135] usb 1-1: Product: 802.11ac NIC
[ 1080.595136] usb 1-1: Manufacturer: Realtek
[ 1080.595137] usb 1-1: SerialNumber: 123456
[ 1087.695407] usb 1-1: USB disconnect, device number 4

第一次运行时,这就是我得到的一切。但第二种方法也显示了这个 VirtualBox 错误:

在此输入图像描述

Aircrack-ng/rtl8812au

我不确定是否Aircrack-ng/rtl8812aurealtek-rtl88xxau-dkmsapt-package 的驱动程序相同,所以我./dkms-install.sh在那里尝试过,但也没有运气,只是类似的问题。

尽管 Kali Linux 的快照已经过时了几个月(普通安装有超过 800 个软件包更新),但似乎没有内核更新。以下内核版本在更新所有软件包之前和之后是相同的:

Linux kali 5.2.0-kali2-amd64 #1 SMP Debian 5.2.9-2kali1 (2019-08-22) x86_64 GNU/Linux

答案1

我可以重现该问题是由于 VirtualBox 中提供了错误的 USB 类型引起的,这是由于以下错误造成的:我的 chromebook 有两个 USB 端口。两者都是黑色的,所以我认为它们是 USB 2.0。 USB 设备支持 3.0,但应该降级到我的 2.0 端口。

为了确定这一点,我在主机上运行

lsusb | grep Realtek
Bus 002 Device 004: ID 0bda:8813 Realtek Semiconductor Corp.

这给了我总线和设备 ID 来查找规范:

sudo lsusb -D /dev/bus/usb/002/004 | grep bcdUSB
  bcdUSB               2.10

这是在最初设置虚拟机之前,因为我想确保指定正确的 USB 类型(以前从未在 VirtualBox 上使用过转发的 USB 设备)。由于我花了几个小时让驱动程序工作,所以一天后我继续,没有注意到使用了右侧的 USB 端口(而不是我昨天使用的左侧)。但正确的端口似乎是 USB3,尽管它不是蓝色的,因为今天 lsusb 对 Realtek 设备说:

sudo lsusb -D /dev/bus/usb/002/004 | grep bcdUSB
  bcdUSB               3.00

因此,我将 VirtualBox 中 USB 控制器的类型从 2.0 (EHCI) 切换到 3.0 (xHCI),所有内容都可以与realtek-rtl88xxau-dkms驱动程序包配合使用,甚至可以直接使用 airmon:

root@kali:~# airmon-ng start wlan0
PHY Interface   Driver      Chipset

phy0    wlan0       88XXau      Realtek Semiconductor Corp. RTL8814AU 802.11a/b/g/n/ac
 (monitor mode enabled)

在我收到 VirtualBox 错误(不仅仅是 dmesg 错误)后,这张票给出了正确的提示。

学过的知识:在这种情况下,不要相信插座的颜色!验证规格,尤其是在同一项目中使用其他套接字时......

相关内容