this tool puts your wireless card into monitor mode, then processes beacon
frames from APs to create a list, in which you can navigate with the cursor
keys, then select one AP with ENTER
. the AP will open in detail view and
start to beep. the faster it beeps, the better is the signal of the AP.
this is quite handy to adjust directional antennas for the perfect signal without having to stare at a screen, which may be impractical.
it can also be used on a mobile linux device (think netbook) to move through the streets and find the physical location of APs. you probably should wear headphones to do so...
the keys +
/-
and 0
/9
can be used to adjust the audio volume.
3rd party dependencies (install them including headers, i.e. -dev package)
- libpcap :packet capturing library
- libao :audio output library
1st party dependencies
- rcb2 :build tool
- depends on python2
- concol :terminal library with ncurses,termbox and SDL backends
- depends on either SDL or ncurses devel package installed
just run make
. if you need to change variables, CFLAGS, etc, do so by
creating a file called config.mak
and override the settings there.
you may also use it to change BACKEND
to SDL
.
by default the ncurses version will be built since it is assumed it is more
widely available.
Note: you may find release tarballs attached to git tags in the github repo.
paste this into your shell
mkdir /tmp/macgeiger-build
cd /tmp/macgeiger-build
for i in rcb2 concol macgeiger libulz ; do git clone git://github.com/rofl0r/$i ; done
mv libulz lib
ln -s rcb2.py rcb2/rcb2
cd macgeiger/
printf "%s\n%s\n" "CFLAGS+=-DCONSOLE_BACKEND=SDL_CONSOLE" "CFLAGS+=-DCONSOLE_FONT=INT10FONT14" > config.mak
PATH="$PATH:../rcb2" make
if you want to use the ncurses backend (which is much harder to debug using gdb), replace SDL_CONSOLE with NCURSES_CONSOLE in the above printf command
alternatively you may use the create-dist
script to create a source tarball
that does not require the rcb build tool.
if you decided to try another backend (not the previously used one), run
PATH="$PATH:../rcb2" RCBFLAGS=--new make
./macgeiger.out wlan0mon
let the program gather network info for some seconds, then select an AP from the list with cursor-up, cursor-down, then hit ENTER to track it with audio feedback.