Raspberry Pi Wifi Tracking API
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.
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.
You need to sudo service ifplugd stop before you sudo ifconfig wlan0 down; sudo iwconfig wlan0 mode monitor; sudo ifconfig wlan0 up.