Wardriving with Android GPS, Kismet, BlueNMEA and gpsd.



Wardriving is is the act of searching for Wi-Fi networks in a moving vehicle using a portable computer or smartphone.

Tools Required

  • Hardware
    • Android device with GPS
    • Laptop with a wireless device that supports promiscuous mode
    • USB cable to connect the Android to laptop
  • Laptop Software
  • Android Software

Prepare the Android Device

  1. Turn on USB debugging mode. The exact method differs between Android versions. Try Settings -> Applications -> Development -> USB Debugging.
  2. Ensure GPS is turned on. Try Settings -> Location & Security -> Use GPS Satellites.
  3. Start the BlueNMEA application.

Prepare the Computer

  1. Connect the Android device to the computer via USB. Make sure the device has USB debugging mode turned on. The method for doing that differs between versions.
  2. Forward TCP port 4352 from the Android device to the computer with adb forward from the laptop.
  3. adb forward tcp:4352 tcp:4352
  4. Run gpsd on the laptop to listen on the forwarded port.
  5. gpsd -N -n -D5 tcp://localhost:4352
  6. Start kismet and tell it to listen on the correct interface when it prompts you. It should not need any special configuration to use the gpsd.
  7. kismet

The Drive

  1. Go driving (with the laptop and the android device in the car...).
  2. Exit kismet when done.

Visualizing the Data

  1. Extract the data from the .netxml file to the giskismet database with giskismet.
  2. giskismet -x KismetXXX.netxml
  3. Query the giskismet database and generate .kml file with giskismet.
  4. giskismet -q "SELECT * FROM WIRELESS" -o wardrive_results.kml
  5. Load the .kml file with Google Earth.