Wardriving is the practice of systematically scanning for and mapping wireless networks while moving through an area. It's similar to what happens when you walk into a room and your phone automatically searches for available WiFi networks to connect to โ except in wardriving, we log and study these networks for network security analysis, infrastructure research, and educational purposes.
As a subject matter expert and community figurehead in the wardriving space, I've spent years researching wireless network topologies, security implementations, and the evolving landscape of WiFi infrastructure. This comprehensive guide represents practical knowledge gained from extensive fieldwork and technical research in wireless network security.
The data collected through wardriving helps security professionals understand network deployment patterns, identify vulnerable configurations, and improve wireless security standards. This guide will walk you through setting up a professional wardriving environment using Kali Linux, Kismet, and industry-standard WiFi adapters.
Rufus Settings:
Run the following commands in Terminal:
sudo apt update
sudo apt upgrade -y
sudo bash -c 'echo "deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware" > /etc/apt/sources.list'
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
timedatectl # Use this to verify time is correct
sudo apt update && sudo apt full-upgrade -y
sudo apt clean
sudo apt autoremove -y
sudo reboot
sudo apt install -y gpsd gpsd-clients python3-gps
Bonus (for Kismet compatibility):
sudo apt install -y kismet gpsbabel gnuplot
Edit the GPSD config file:
sudo nano /etc/default/gpsd
Find the line starting with DEVICES= and change it to:
DEVICES="/dev/ttyACM0"
Save and exit (Ctrl + X, then Y, then Enter).
sudo systemctl restart gpsd
cgps
xgps
Wait a few seconds to see GPS coordinates appear.
sudo systemctl start gpsd # Start GPSD
sudo systemctl status gpsd # Check if it's running
sudo systemctl enable gpsd # Enable GPSD at boot
sudo systemctl restart gpsd # Restart GPSD
sudo nano /etc/kismet/kismet.conf
Scroll to the GPS CONFIGURATION section. Find this line:
# gps=gpsd:host=localhost,port=2947
Uncomment it (remove the #), so it reads:
gps=gpsd:host=localhost,port=2947
Save and exit the file.
sudo systemctl restart kismet
sudo kismet
Open the Kismet web interface and check for live GPS coordinates.
sudo apt install build-essential libelf-dev linux-headers-$(uname -r) dkms -y
cd /usr/src/
sudo git clone https://github.com/aircrack-ng/rtl8812au.git
sudo dkms add ./rtl8812au
sudo dkms build 8812au/5.6.4.2
sudo dkms install 8812au/5.6.4.2
sudo reboot
After rebooting, run:
iwconfig # Check for wlan interface
lsusb # Ensure USB adapter is detected
Run this on a fresh Kali install to handle driver setup automatically:
sudo apt install -y dkms build-essential libelf-dev linux-headers-$(uname -r) && \
git clone https://github.com/aircrack-ng/rtl8812au.git && \
cd rtl8812au && make && sudo make install && sudo depmod -a && \
echo "88XXau" | sudo tee -a /etc/modules && \
echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8813", RUN+="/sbin/modprobe 88XXau"' | \
sudo tee /etc/udev/rules.d/8814au.rules && \
sudo udevadm control --reload-rules && sudo udevadm trigger
If you're running Kali Linux and using a Realtek-based USB Wi-Fi adapter โ such as the ALFA AWUS036ACS (๐ป RTL8812AU) or ALFA AWUS1900 (๐ก RTL8814AU) โ you may notice your adapter doesn't show up with iwconfig out of the box. This guide walks you through installing the correct drivers for these chipsets, step by step.
Not all Realtek chipsets are supported by the same drivers. For RTL8812AU, use the aircrack-ng/rtl8812au repository. For RTL8814AU, use the morrownr/8814au repository โ it's more up to date and works better for that chipset (and also supports RTL8812AU).
Run the command:
lsusb
Look for a line like:
Once you know your chipset, follow the appropriate installation method below.
Run these commands:
sudo rm -rf /etc/udev/rules.d/8814au.rules
sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/net/wireless/88XXau*
sudo modprobe -r 88XXau
sudo depmod -a
sudo apt install -y dkms git build-essential libelf-dev linux-headers-$(uname -r)
git clone https://github.com/morrownr/8814au.git
cd 8814au
sudo ./install-driver.sh
sudo reboot
Run:
iwconfig # You should see wlan1 or similar
lsmod | grep 8814au # You should see the driver loaded
sudo apt install build-essential libelf-dev linux-headers-$(uname -r) dkms -y
cd /usr/src/
sudo git clone https://github.com/aircrack-ng/rtl8812au.git
sudo dkms add ./rtl8812au
sudo dkms build 8812au/5.6.4.2
sudo dkms install 8812au/5.6.4.2
sudo reboot
iwconfig
lsusb
If you want to install everything in one command (for RTL8812AU only), run:
sudo apt install -y dkms build-essential libelf-dev linux-headers-$(uname -r) && git clone https://github.com/aircrack-ng/rtl8812au.git && cd rtl8812au && make && sudo make install && sudo depmod -a && echo "88XXau" | sudo tee -a /etc/modules && echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8813", RUN+="/sbin/modprobe 88XXau"' | sudo tee /etc/udev/rules.d/8814au.rules && sudo udevadm control --reload-rules && sudo udevadm trigger
Once your Realtek adapter is working, you can:
Need help setting up monitor mode or using Kismet? Reach out or check out the full Wireless Pentesting Toolkit Guide.