descriptionnone
repository URLhttps://github.com/rofl0r/MacGeiger.git
ownerretnyg@gmx.net
last changeFri, 16 Apr 2021 16:18:43 +0000 (16 17:18 +0100)
last refreshFri, 17 May 2024 00:06:38 +0000 (17 02:06 +0200)
content tags
add:
README.md

MacGeiger - a WIFI AP locator utility

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.

Dependencies

3rd party dependencies (install them including headers, i.e. -dev package)

1st party dependencies

how to build from release tarball:

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.

how to build from git:

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.

rebuilding with a different console backend:

if you decided to try another backend (not the previously used one), run

PATH="$PATH:../rcb2" RCBFLAGS=--new make

how to use:

./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.

shortlog
2021-04-16 rofl0rchannel-switch: use sys/ioctl.h instead of stropts.hmaster
2020-08-26 rofl0rimprove rendering of clients
2020-08-25 rofl0rpreliminary support for displaying AP clients
2020-08-25 rofl0rexperimental support for unlimited number of wlans
2020-08-25 rofl0rchange pcap output filename from tmp.pcap to tmp.$itf...
2020-08-24 rofl0rdo proper endianness conversion for it_len
2020-08-24 rofl0rskip malformed packets
2019-10-06 rofl0rremove obsolete cpp conditional
2019-08-02 rofl0rimplement fixed-channel mode
2019-04-12 rofl0radopt RcB2 build system
2019-03-09 rofl0rimprove beeping precision by using the selected wlan...
2018-08-27 rofl0rfactor out pcap file writer code and fix endian support
2018-08-27 rofl0rupdate endianness.h to latest
2018-03-14 rofl0rupdate build instructions
2018-02-15 rofl0rhandle frame checksum padded to end of packet
2018-02-11 rofl0rinitialize screen area after essid to not leave artifacts
...
tags
7 years ago v0.0.1
heads
3 years ago master