Software setup - mgdegroot/uber-selfie GitHub Wiki

GPSD

General info

Installing

Usually building from source is not necessary. Install using package manager of distro, e.g.:

  • Arch Linux:

    pacman -S gpsd

  • Debian (and derivatives like Ubuntu):

    apt-get install gpsd gpsd-clients

Building

  • Get latest release from savannah.gnu.org, e.g.
    • download:

      wget http://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-3.16.tar.gz

    • verify (See gnupg documentation for getting signatures and adding trust-levels):

      wget http://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-3.16.tar.gz.sig

      gpg --verify gpsd-3.16.tar.gz.sig

    • extract:

      tar xvzf gpsd-3.16.tar.gz && cd gpsd-<version>

    • configure and build:

      scons && scons install && scons udev-install

    • result binaries should be under /usr/local/

Configuring

(assumes Arch linux. Under debian config file could be /etc/default/gpsd)

  • Verify location of gps device (name depends on serial mode):
    • Could be /dev/ttyUSB<number> or /dev/ttyACM<number> (e.g. /etc/ttyUSB0)
  • Open file in editor (e.g. nano or vim): vim /etc/gpsd
  • Change so that it looks like this:
     START_DAEMON="true"
     GPSD_OPTIONS="-n"
     DEVICES="<gps device>"
     USBAUTO="true"
  • Where

    • GPSD_OPTIONS="-n": Don't wait for fix
    • DEVICES="/dev/ttyACM0": The GPS device
  • On a systemd distro enable and start the daemon:

    systemctl enable gpsd && systemctl start gpsd

  • Verify status and socket file:

    systemctl status gpsd and stat /var/run/gspd.sock

Kismet

General info

Building from source

Kismet might be available as a package but, when using plugins, it's easier to build from source so that plugins can be build against the correct kismet source tree.

  • Dependencies (including development headers):
    • libncurses, libcap, libpcap, libnm libnl-3 libdw, libsqlite3
    • Optional: libhackrf, libfftw3
    • E.g. under Debian/Ubuntu:
         apt-get install build-essential libmicrohttpd-dev git 
         libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev 
         libncurses5-dev libnm-dev libdw-dev libsqlite3-dev  
         libhackrf-dev libfftw3-dev
  • Download source package (release or dev) and unpack if needed:
    • release:

      wget https://www.kismetwireless.net/code/kismet-2016-07-R1.tar.xz

    • dev:

      git clone https://www.kismetwireless.net/git/kismet.git

  • cd in directory and configure:
    • ./configure --prefix=/usr/local --sysconfdir=/etc
    • check output whether all dependencies are met and fix if required.
  • make && make plugins && make restricted-plugins
  • make install
  • Build and install plugins (one or both options below):
    • Global: make plugins-install
    • For user: make plugins-userinstall
  • Build and install optional plugins:
    • make restricted-plugins-install
    • make restricted-plugins-userinstall

Configuration

Location of config file (if --sysconfdir was given during build process) is /etc/kismet.conf

  • Check and note capture interfaces:
    • ip link or ifconfig
  • Open config file in editor: vim /etc/kismet.conf
  • Verify values and add one or more capture sources and gps config:
  • Capture source: ncsource=<capture device> e.g.:
ncsource=wlp0s20u9
ncsource=ubertooth
  • GPS config:
     gps=true
     gpstype=gpsd
     gpshost=localhost:2947
  • Log config: logtypes=gpsxml,netxml
    • Optionally (for full capture dumps):

      logtypes=gpsxml,netxml,pcapbtbb,pcap

  • optional manufacturers data (e.g. from Wireshark): ouifile=/usr/share/wiureshark/manuf

Ubertooth / libbtbb

General info

Building

  • Dependencies: cmake, libusb, libbluetooth libpcap python-numpy python-pyside, libbtbb

  • Download libbtbb and

  • Download source packages:

    • 2017-03-R2 release:

      wget https://github.com/greatscottgadgets/ubertooth/releases/download/2017-03-R2/ubertooth-2017-03-R2.tar.xz wget https://github.com/greatscottgadgets/libbtbb/archive/2017-03-R2.tar.gz -O libbtbb-2017-03-R2.tar.gz

  • Verify hashes against origin at github libbtbb and github ubertooth:

    sha256sum ubertooth-2017-03-R2.tar.xz && sha256sum libbtbb-2017-03-R2.tar.gz

  • Build package using cmake (libbtbb):

    tar xvzf libbtbb-2017-03-R2.tar.gz && cd libbtbb-2017-03-R2.tar.gz
    mkdir build && cd build && cmake ..
    make && sudo make install
  • Build package using cmake (ubertooth):

    tar xvJf ubertooth-2017-03-R2.tar.xz && cd ubertooth-2017-03-R2
    mkdir build && cd build && cmake ..
    make && sudo make install
  • Build Kismet plugin:

    • Plugin can be build separately or with Kismet by linking in kismet source. Below the 'separate' build process.
    • Change to plugin directory (<UBERTOOTH SOURCE DIR>/host/kismet/plugin-ubertooth/)
        KIS_SRC_DIR=<KISMET SOURCE DIR> make
        sudo KIS_SRC_DIR=<KISMET SOURCE DIR> make install
        KIS_SRC_DIR=<KISMET SOURCE DIR> make userinstall

If all steps completed successfully the ubertooth is available in Kismet as capture source 'ubertooth'. PCap logging is available as logtype 'pcapbtbb' (logtypes=...,pcapbtbb).

⚠️ **GitHub.com Fallback** ⚠️