War Driving
3 min readArticle
War driving (also wardiving/WiFi mapping) is the act of searching for wireless networks from a moving vehicle (or on foot — "war walking"). The goal is to map wireless network locations, SSIDs, encryption types, signal strengths, and GPS coordinates. It's done passively — just listening, never connecting.
Purpose
- Security research — understand wireless density in an area
- Pre-engagement recon — identify target org's wireless footprint
- Building databases — WiGLE and similar crowdsourced databases
- Coverage analysis — assess WiFi coverage for a location
- Finding weak encryption — WEP, open networks, WPS-enabled APs
Legal Status
War driving is legally complex. In most jurisdictions:
- Passive monitoring (just listening) is generally legal
- Connecting to networks without authorization is illegal
- Laws vary by country — research before doing it
- Always get written permission for professional engagements
Equipment
Minimum kit:
- Laptop or Raspberry Pi
- External WiFi adapter (Alfa AWUS036ACH or similar)
- USB GPS dongle (Globalsat BU-353S4 is common)
- Directional or omnidirectional antenna (optional)
- Power bank if mobile
Optional upgrades:
- High-gain antenna for better range
- Multiple adapters for multi-band scanning
- Raspberry Pi for unmanned/autonomous operation
- Car mount / suction cup holder for antenna
Tools
Kismet (Linux — Recommended)
bash
# Install
sudo apt install kismet
# Start with GPS
sudo gpsd /dev/ttyUSB0 # Start GPS daemon
sudo kismet -c wlan0 # Start Kismet
# Web UI: http://localhost:2501
# Logs automatically with GPS coordinates
See kismet-wifi-discovery for full notes.
Wireshark / tshark
bash
# Capture all WiFi management frames
sudo tshark -i wlan0mon -w wardrive.pcap
# Filter beacons
tshark -r wardrive.pcap -Y "wlan.fc.subtype == 8" \
-T fields -e wlan.bssid -e wlan.ssid -e radiotap.dbm_antsignal
WiGLE WiFi App (Android)
Simplest option for phone-based wardriving:
- Install WiGLE WiFi app from Play Store
- Enable GPS and WiFi
- Drive/walk around
- The app logs everything automatically
- Upload to WiGLE.net when done
GPS Setup (Linux)
bash
# Install gpsd
sudo apt install gpsd gpsd-clients
# Test GPS dongle
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
# Verify GPS data
cgps -s
gpspipe -w -n 5
# Kismet auto-connects to gpsd
War Driving Data Format
Kismet logs to .kismet SQLite database files. Each AP record contains:
- BSSID
- SSID
- Channel
- Encryption type
- GPS coordinates (lat/long)
- Signal strength (dBm)
- First/last seen timestamps
- Manufacturer (from MAC OUI)
Processing Results
bash
# Convert Kismet log to CSV
kismetdb_dump_devices --in wardriving.kismet
# Convert to pcap for Wireshark
kismetdb_to_pcap --in wardriving.kismet --out output.pcap
# Upload to WiGLE
# Via web: wigle.net/tools → Upload → select .kismet file
# Via API (see WiGLE notes)
Uploading to WiGLE
WiGLE accepts Kismet logs, pcap files, and CSV formats:
bash
# In Kismet: enable WiGLE upload in kismet.conf
wigle_api_key=your_api_key
wigle_enabled=true
Or upload manually at wigle.net/tools
Finding Open/Weak Networks
bash
# After capturing, filter for open networks
tshark -r wardrive.pcap -Y "wlan.fc.subtype == 8" \
-T fields -e wlan.ssid -e wlan.rsn.capabilities
# Use Kismet's built-in alerting for weak security
# Settings → Alerts → Configure WEP/Open network alerts
Sub-pages
- kismet-wifi-discovery - Main war driving tool
- wigle-wifi-geolocation-database - Database to contribute/query data
techzonesite.comUnlock Your IT Potential