Giter VIP home page Giter VIP logo

kismetpidisplay's Introduction

KismetPiDisplay

These scripts display information from a Kismet XML log file during a wardrive on the Adafruit LCD for the Raspberry Pi. The more mobile your wardriving setup the better, so why not use a Pi? Carrying around a monitor with your Pi is not ideal so we can use an LCD to display information about gathered networks during the wardrive.

The script will start by displaying the total number of networks discovered thus far. By pressing the UP or DOWN buttons you can cycle between the other screens. The LEFT and RIGHT buttons scroll the text on the screen left or right. The other information that is displayed is the total number of networks using WPS, WPA, WEP, or no encryption.

Installation

This code requires that Adafruit's Raspberry Pi Python Code be installed in your home directory on the Raspberry Pi. It also requires you have Paul McMillan's kismetclient installed in your home directory. Note that the script assumes your username is pi. If your username isn't pi go into pi_kismet.py and on lines 2 and 3 change the pi in the strings to your username.

You will also need the development version of Kismet.

Complete steps for setting up your RPi follow.

Complete Guide

For those who are new to this, here is how to set everything up on your Pi. This requires a wireless card that supports monitor mode. I use the Alfa AWUS036H. This also assumes you are using Raspbian as your OS.

Use the following commands to install the dependencies.

sudo apt-get update
sudo apt-get -y install iw kismet python-dev python-smbus python-rpi.gpio libssl-dev libpcap-dev libnl-dev

Next you will need to enable I2c. You can use Adafruit's guide to get that set up. Follow it exactly please.

Next you will need to install the libraries the code depends on. Run the following commands.

cd
git clone https://www.kismetwireless.net/kismet.git
git clone https://github.com/PaulMcMillan/kismetclient.git
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
cd kismet
./configure
make && sudo make install

Please note that compiling and installing Kismet takes a long time. Have patience.

You will now need to edit the Kismet configuration file. sudo vi /usr/local/etc/kismet.conf and add in the line ncsource=wlan0:name=RTL8187. You will see a section of lines that say ncsource near the beginning of the config file.

Usage

This script should be run after starting Kismet. It should be run with sudo so you can access the smbus.

You will need two terminals for this so everything can run.

sudo apt-get install tmux
tmux
sudo kismet_server
Ctrl-B c
cd KismetPiDisplay
sudo python pi_kismet.py

To stop the script hold the SELECT key on the LCD plate for 3 seconds and the script will stop displaying information.

If you want to use GPS with Kismet then you can fire up gpsd BEFORE you run kismet_server. There are plenty of tutorials on that you can find on Google.

Possible errors

Sometimes when you run kismet it will give a bunch of errors about your wireless card and how it can't set to a different channel. You will notice this in the output in the console window your kismet_server is runnning in (press Ctrl-B 0 to go back to it if you followed this guide). To fix this open a new tmux window (Ctrl-B c) and run ps aux | grep wpa and ps aux | grep ifplugd. Any of the processes that show up that are associated with your wireless interface wlan0 need to be killed. To kill them run sudo kill -9 followed by the process number.

Licensing

This project uses some code from Adafruit's PiMiner and as such this project is licensed under GPLv3 like PiMiner.

See it in action

Unfortunately I can't embed YouTube videos here, so follow the links to see it in action.

Starting up the code is simple.

Sorry about the poor quality, but here is the LCD code in action.

kismetpidisplay's People

Contributors

seanmckaybeck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.