KHUSHERE is an app dedicated to show traffic of certain places in Kyung Hee University. It can detect how many people are nearby by counting mobile devices'. Since most of university students carry at least one mobile devices, it can provide traffic with ok accuracy.
This system can be used not only for providing whether enclosed space is crowded but to prevent accidents.
It reports MAC addresses and their signal strength every 60 seconds over MQTT. It also handles MAC address randomization by filtering patterns of randomized MAC address.
This project is based on Raspberry PI 3 B+ and RTL8192eu(Iptime N400UA)
tshark is required to capture probe requests.
sudo add-apt-repository -y ppa:wireshark-dev/stable
sudo apt install -y tshark
For security reasons, I strongly recommand to change permissions of tcpdump instead of tshark.
groupadd pcap
usermod -a -G pcap nonrootuser
chgrp pcap /usr/sbin/tcpdump
chmod 750 /usr/sbin/tcpdump
setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
This Project uses PDM to manage python dependancies. To install required libraries, use:
pdm install
khushere-hardware uses wlan0 as monitoring interface. To enable interface, use the following script
sudo ./enable_monitor