Kismet on Linux

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 04:05, 9 July 2005 (edit)
87.74.16.79 (Talk)
(Running the drone)
← Previous diff
Revision as of 04:06, 9 July 2005 (edit) (undo)
87.74.16.79 (Talk)
(Running the drone)
Next diff →
Line 55: Line 55:
wl passive 1 wl passive 1
(wl monitor 1 ???) (wl monitor 1 ???)
-FIXME: Not channel hoping+FIXME: Not channel hoping!!!!!
-Then run the drone+Then run the drone.
/tmp/kismet_drone /tmp/kismet_drone
If this works, it will display some messages ending with 'Allowing connections from <desktop ip address>'. You will need to keep the telnet session open, as closing it will terminate the drone. If this works, it will display some messages ending with 'Allowing connections from <desktop ip address>'. You will need to keep the telnet session open, as closing it will terminate the drone.

Revision as of 04:06, 9 July 2005

This is how I installed the kismet_drone on the wrt54g (v2.2) while running the kismet_server and kismet_client on a Linux box.

Contents

Preparing the wrt54g

Installing the drone

First, I installed the seavsoft firmware (Firmware_Alchemy-6.0rc6.bin) on the wrt (I assume it will also work with the dd-wrt firmware).

I then using the web interface, set it up to use a static ip address and also enabled telnet access to the wrt.

On my Linux desktop machine, at a console

telnet <address of wrt>

then log in using user name 'root' and the same password as the one for the wrt's web interface (the default is 'admin').

Then at another terminal, I downloaded the MIPS binaries for the wrt. Download them from the kismet website http://www.kismetwireless.net/download.shtml . I used version 2005-06-R1a which was the latest version.

http://www.kismetwireless.net/code/kismet-2005-06-R1a-wrt54.tar.gz

cd into the directory where you downloaded it to and unzip it.

tar -zxvf kismet-2005-06-R1a-wrt54.tar.gz

As I have a local web-server running on my desktop box, I decided to use it and wget to copy the kismet files over to the wrt. So I then copied the kismet_drone and conf/kismet_drone.conf files to the root of my web-server.

Go back to your other terminal with the telnet session to the wrt.

The /tmp directory is the only place on the wrt which is writable as it is stored on a ramdisk. This means that every time that you power down the wrt, you have to reload the kismet files to it.

cd /tmp

Get files onto wrt

wget http://<ip address of desktop box>/kismet_drone
wget http://<ip address of desktop box>/kismet_drone.conf

Put kismet_drone.conf file in conf directory.

mkdir conf
mv kismet_drone.conf /tmp/etc 

and make drone executable

chmod +x /tmp/kismet_drone

(You could probably also use scp to load the files to the wrt instead of wget/web-server.)

configure drone

You then need to edit the drones conf file (I used the vi editor).

vi /tmp/etc/kismet_drone.conf

Change the line

allowedhosts=127.0.0.1

to

allowedhosts=<address of desktop box>

and the line

source=wrt54g,eth2,Kismet-Drone

to

source=wrt54g,prism0,Kismet-Drone

(I have read that this line should be different if running another version of the hardware - this works with v2.2 of the wrt54g).

Running the drone

Now we start the drone...but first, we need to put the wireless interface into passive monitoring mode.

wl ap 0
wl passive 1
(wl monitor 1 ???)

FIXME: Not channel hoping!!!!!

Then run the drone.

/tmp/kismet_drone

If this works, it will display some messages ending with 'Allowing connections from <desktop ip address>'. You will need to keep the telnet session open, as closing it will terminate the drone.

Preparing the desktop

Install kismet

You will need to be logged in as root. As I use a debian based Linux distro, I started by using apt to install kismet.

apt-get install kismet

Unfortunately for me, the version of kismet available using apt was not the same as the version that the drone was using. The versions (probably) need to be the same, so in the end, I installed kismet on my desktop from source from the kismet site (http://www.kismetwireless.net/download.shtml).

cd <download directory>
tar -zxvf <kismet source file>tar.gz
cd <kismet dir>
./configure
make
make install

Configure kismet

[note: I found that the config files were in /etc/kismet when installing using apt-get, but they were in /usr/local/etc when installing from source.] First, you need to make a kismet user for the server to run as.

adduser kismet

...and fill in the blanks. Then you need to edit the /usr/local/etc/kismet.conf file. change

#suiduser=your_user_here

to

suiduser=kismet

change

#source=none,none,addme

to

source=kismet_drone,<wrt ip address>:3501,wrt54g

I also found that kismet couldn't write its log files to the default directory, so I changed the line

logtemplate=%n-%d-%i.%l

to

logtemplate=%h/%n-%d-%i.%l

so that the log files get saved in the kismet users directory (/home/kismet)

Run kismet

Now everything should be ready. First you will need to run the server in the background.

/usr/local/bin/kismet_server &

then run the GUI

/usr/local/bin/kismet_client

Stopping kismet

press shift Q in the gui to stop the kismet_client,

killall kismet_server

press ctrl-C in the telnet session to the wrt to kill the drone (remember that we set it to run in the background).