
				    WARDRIVE

               (c) 2001 by van Hauser / THC <vh@reptile.rug.ac.be>
			http://www.thehackerschoice.com



INTRODUCTION
------------
This tool is for mapping your city for wavelan networks with a GPS device
while you are driving a car.
It saves found links to a file with the corresponding GPS position.

There are other scripts available as well:
	* perl scripts from Peter Shipley, which are for FreeBSD
	  http://www.dis.org/wl/
	* perl scripts from Frisco, which are for OpenBSD
	  http://blackant.net/other/wireless.php
So what was needed is an effective tool for Linux. Here it is.
Other nice ressources to visit are www.wardriving.com and
 www.personaltelco.net/index.cgi/WarDriving

This releases - WARDRIVE - obsoletes some THC internal scripts in a project
called "Projekt: braune Pornotte" which were just some shellscript -
through very effective - which just dumped /proc/net/wireless and using
gpsutil-0.05. This release is more time effective, flexible and comes with
more options. And: for the first time, a public release. Have fun.


"PROJEKT: BRAUNE PORNOTTE"
---------------------------
This is a special feature of wardrive, which is more for "warwalking" :-)
Vax and me walked around in the pedestrian zones, though no cars allowed and
walking around with a laptop is pretty suspicious. So we put the laptop into
a strong brown plastic bag, one you might receive in a sex shop :-), and
walked around. To get informed when a link was found, we wrote some scripts
to a) save time and location, and b) BEEP!. So, walking around and
occasionally hurry to some more quiet place when the laptop started beeping
was great fun. eh...
That was the old project :-) WARDRIVE is more effective and flexible, but
can do the same of course. have fun!


WHAT DO YOU NEED FOR WARDRIVING
-------------------------------
This needs:
	* a wavelan card (which is supported by Linux)
	* a GPS device which is NMEA compliant (most are, e.g. Garmin eTrex
	  for 150$) and a GPS <-> PC data cable. Set it to 4800 Baud.
	* an omnidirect antenna (5+ dBi) should be used for much better
	  results - we use a 7dBi one, which is pretty effective ...

Hook up the GPS device and the wavelan card into your laptop, put it all into
your car, then start wardriving.
Remember to set the correct seriell port for the GPS card and the correct
ethernet device. Type "wardrive -h" if you have got any problems.
It is intelligent to configure your wavelan card to ignore nwid etc. Do that
in configure_wvlan.sh and run wardrive with "-I configure_wvlan.sh"
For a detailled example see section "HOW TO RUN" below.


HOW TO COMPILE
--------------
"make clean install"
This is for Linux! BSD, Solaris, Windows etc. have got a different COM port
setup (needed for GPS data) and wavelan data access (which is
/proc/net/wireless on Linux and I have got no idea how to get this
information on different platforms).
I'll add diffs for different platforms - if you send them to me.


HOW TO RUN
----------
./wardrive -d eth0 -p /dev/ttyS0 -I ./configure_wvlan.sh -i 1 -b 1 -B 5 -v

this specified eth0 as the wavelan device, /dev/ttyS0 (COM1) as the GPS
device, to configure the wavelan device via configure_wvlan.sh before
starting, save every second all link levels > 0 and beep every 5 seconds
while a link is detected :-)
Add -G if you dont have got a GPS device.

New in v2.1 are various scripts to make your life easier!
Edit ./wardrive.conf to reflect your configuration and then just use
./start_wardrive to start everything!


THE FILES
---------
README.1st		everything you need to know just to run wardrive!
README			you are reading me
CHANGES			changes since the last versions
start_wardrive		this is the wrapper to start wardrive
wardrive.conf		the config file for start_wardrive and other scripts
wardrive		the binary tool to gather GPS and waveland data
wardrive.c		the source code of the tool
Makefile		type "make"
configure_wvlan.sh	setups your wvlan card as defined in wardrive.conf
reset_wvlan.sh		reset your wvlan card after an access point was found
sniff_wvlan.sh		a script to run sniffers (via conf/reset_wvlan.sh)
clean_stat.sh		removes entries with no location and no link from a stat file
get_coords_from_stat.sh	dumps coordinates from a stat file
iwconfig		my iwconfig crashes by "iwconfig eth0", use this
wireless_tools.20.dif	the diff I made to cicumvent the bug and make it compile


FUTURE STUFF
------------
* add tools to put signal strengths to a map
* add pictures to show how to mount everything to your cabrio :-)
* add map of frankfurt, berlin and other cities


CONTACT
-------
write an email to vh@reptile.rug.ac.be to send me diff's, GPS maps with
access points, or just single access point locations in Europe :-)
Visit our web page at http://www.thehackerschoice.com where we might put
interesting findings online...
