Home

Awesome

wifitracker

Raspberry Pi Wifi Tracking API

Data Collection

Dependencies: Scapy, SQLAlchemy.

The backend is logs probe request packets using the Scapy API. These packets and their information are recorded in a local SQLite database using the SQLAlchemy ORM. In order to capture packets on all channels, we employ a multi-process architecture where a channel hopping process is used to change the channel that the wifi adapter is listening on at a fixed interval.

Data Visualization

Dependencies: Flask, SQLAlchemy.

The frontend is a server that is powered using Flask, rendering Jinja2 templates, and loading in a SQLite database using the SQLAlchemy API. Databases generated by the data collection program can be uploaded into a data visualization server. The server provides analysis and visualizations using information from the SQLite database.

When running on Raspbian

You need to sudo service ifplugd stop before you sudo ifconfig wlan0 down; sudo iwconfig wlan0 mode monitor; sudo ifconfig wlan0 up.