[TriLUG] gpsmap experience
Michael Hrivnak
mhrivnak at triad.rr.com
Sat May 7 00:07:05 EDT 2005
Dear all,
I've asked a lot of questions and received lots of great information from this
group. This time I'm going to share some interesting experience using kismet
and gpsdrive to generate maps of wifi networks.
Let's cut to the chase. This link shows you several examples of what I was
able to produce.
http://moses.sca.ncsu.edu/~mhrivnak/wifi_maps/north_raleigh/
Numbers 9 and 11 show you the route that was driven, while the rest depict the
networks found in various representations. For maps 6-8, red networks have
WEP, green do not, and blue indicate the access points have factory default
settings.
gpsmap has five map sources to choose from. My favorite is Mapblast, used for
maps 6-10. Terraserver provides satellite/aerial photography that I used for
map 11. As you can see by comparing 9 and 11, Mapblast has tremendous
accuracy while Terraserver has noticeable variation.
PROCESS
These were created using kismet, http://www.kismetwireless.net/ and gpsdrive,
http://gpsdrive.kraftvoll.at/
I used kismet to collect data on wifi networks that my laptop was able to
detect. It saves that data to sets of log files that can later be used to
generate maps. Kismet includes the program "gpsmap" which processes data
after the fact to generate maps.
Step 1:
I used "gpsd" from the gpsdrive project to interface kismet with my Garmin
eTrex Legend gps through the serial port. Here's how that worked:
gpsd -S 2222 -p /dev/ttyS0 -s 4800
Kismet should detect and connect to gpsd without any changes to default
settings. A complicating issue is that the gps3d project,
http://www.mgix.com/gps3d/, also contains a binary "gpsd" that is different
from gspdrive's gpsd and is not compatible with kismet. Getting these two
mixed up caused me more confusion than anything else in this process.
Step 2:
Fire up kismet. There are other documents that can explain this. There are
also some promising GUI front ends, none of which I've actually tried. If
all goes well, you should see location data in the kismet window.
Step 3:
Travel. Data for these maps was collected in a car. I'm planning to mount an
antenna to my bicycle soon so I can collect data while getting into
shape. Pick your favorite means.
Step 4:
Now that you have some data, use gpsmap to generate maps. The logs are saved
in kismet's working directory. Here is how map 10 was created:
gpsmap -r -S 0 -n 2 -k -s 7000 -o ~/map10.jpg Kismet-May-01-2005-5.gps
gpsmap automatically downloads the appropriate map from the source you choose.
There are some features lacking in either software support or my ability to
find them:
First of all, I would like the ability to plot for example only the networks
with WEP. gpsmap can already differentiate to the extent that it will color
code based on WEP, but I want the ability to decide what gets plotted based
on WEP. The same could be applied to channel number.
So far, my efforts to put labels on the maps, such as ssid, have failed
miserably. The labels tend to be put in all the wrong places. I suspect
this would work better on a map less crowded with networks.
Lastly, I am concerned about what will happen when I start collecting data
with a good antenna. The data for these maps was collected with an Orinoco
silver card with its built-in antenna. I can imagine that if I use a good
antenna to drastically increase reception, the maps will become so crowded
that they will be less useful. Luckily, gpsmap has some features that may
help this situation such as "feathering".
This is all of course purely academic. It's very interesting just how many
networks were found, 152 in all for this particular session. Thanks to
Richie Woodbury for his help.
Michael Hrivnak
More information about the TriLUG
mailing list