During wireless testing, network adapters must be placed in master or monitor mode in order to fully observe and craft wireless traffic for attacks. In addition, when transmitting, the test adapter must compete with legitimate customer infrastructure with regard to signal strength. Often, a wireless client will use Received Signal Strength Indicator (RSSI) to decide which access point it will ultimately connect to for network access. In addition, testing from a virtual machine precludes the tester from using the built-in wireless adapter since it is not exposed to the user.
As a result, it is important to ensure that a suitable wireless adapter is available for testing. Usually, having multiple adapters, so attack and monitoring can be accomplished concurrently, is a good idea. Having adapters with varying capabilities (MIMO support, 2.4GHz and 5GHz support, driver vs firmware feature support, etc). The following are USB wireless adapters known to work well for wireless testing activities.
Alfa AWUS036NHA - Single antenna, supports 2.4 GHz channels. This adapter is known to work with Hostapd-mana and wpa_sycophant.
Alfa AWUS051NH - Single antenna, supports 2.4 and 5GHz channels.
Alfa AWUS052NH - Dual antenna, supports 2.4 and 5GHz channels. This adapter is known to work with Hostapd-mana and wpa_sycophant.
Alfa AWUS036ACH - Dual antenna, supports 2.4 and 5GHz channels.
Alfa AWUS1900 - Quad antenna, supports 2.4 and 5GHz channels. Drivers must be installed in Kali for this adapter to work.
sudo apt install realtek-rtl88xxau-dkms
Using Kali, if that apt-based install doesn’t work, the steps below might. These worked for bbk on Kali 2023.3-vmware-amd64 and the AWUS036ACH on March 1, 2024
apt remove realtek-rtl88xxau-dkms
apt install dkms
git clone https://github.com/aircrack-ng/rtl8812au
cd rtl8812au
make dkms_install
# if you get an error about missing kernel headers, install them
apt install linux-headers-6.6.9-amd64 # or whatever version it asked for
make dkms_install # again, after headers are installed
make clean # if make dkms_install failed
make
make install