THUGS(red) Wardrive
Sign in Join

Wardriving with Kismet

Kismet is the most capable option and the fussiest to set up. Once it works it just works, and the netxml it produces is the richest format this site accepts.

What you need

Install

On Debian, Ubuntu, Raspberry Pi OS and friends:

sudo apt update
sudo apt install kismet gpsd gpsd-clients

# Let your own user capture without running everything as root.
sudo usermod -aG kismet "$USER"
# Log out and back in for the group to take effect.

Check monitor mode works

Before you drive anywhere, confirm the adapter can actually do this:

iw list | grep -A 8 "Supported interface modes"
# You want to see "* monitor" in that list.

If monitor mode is missing, no amount of Kismet configuration will help — you need a different adapter. Ask in the Discord what people are using; the good ones change year to year.

Get GPS working

This is the step worth being pedantic about. A drive with no GPS produces a file this site will refuse, and you will not know until you get home.

# Plug in the receiver, find out what it registered as:
ls /dev/ttyUSB* /dev/ttyACM*

# Point gpsd at it:
sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock

# Confirm you have a fix. Wait for the "Status" to say 3D FIX.
cgps -s

Cold-starting a GPS outdoors takes anywhere from 30 seconds to several minutes. Do it before you start the engine, not after.

Configure Kismet

Add your GPS to /etc/kismet/kismet_site.conf:

# /etc/kismet/kismet_site.conf
gps=gpsd:host=localhost,port=2947,reconnect=true

# Name the log after the drive, and keep the netxml this site reads.
log_types=kismet,netxml
log_prefix=/home/youruser/wardrives/

# Channel hopping: fast enough to catch beacons, slow enough to hear them.
channel_hop_speed=5/sec

Do the drive

# Start Kismet on your monitor-capable interface.
kismet -c wlan1

# Then open http://localhost:2501 in a browser to watch it work.

Watch the GPS indicator in the Kismet web UI. If it goes red mid-drive, the rest of the drive is being recorded without positions.

Upload it

Stop Kismet with Ctrl-C. In your log directory you will find a .netxml file — that is the one to upload. Gzip it first if it is large; this site reads .gz transparently.

ls -la ~/wardrives/
gzip ~/wardrives/Kismet-20260805-14-22-01-1.netxml

Things that go wrong

Every network has the same position
GPS was not connected, so Kismet stamped everything with its last known fix. Check cgps -s before driving.
Very few networks found
Usually the adapter fell out of monitor mode, or channel hopping is too fast. Try channel_hop_speed=3/sec.
Upload rejected for no GPS
The netxml has <gps-info> blocks reading 0.000000. That is a "no satellite lock" recording, not a bad upload — the data genuinely has no positions in it.
Kismet will not start
Almost always permissions. Confirm you are in the kismet group and have logged out and back in since.