BeaconGraph: Graph visualization of wireless client and access point relationships


BeaconGraph is an interactive tool that visualizes client and Access Point relationships. Inspired by airgraph-ng and Bloodhound, it aims to support wireless security auditing. It is written in Python with GUI support by pywebview and a Neo4j backend. Relationship rendering is supported by cytoscape.js and is served by Flask.

This tool is for

  • An audit to verify the access points that portable devices have only connected to approved access points. If a device has an unapproved access point saved (like most users do), it’ll be easy to spot with BeaconGraph and “Probes” edges.
  • An audit to look for unauthorized APs in an environment. Granted, there are other tools to assist with this but BeaconGraph provides nice visuals to use in reporting.


git clone
pip3 install -r requirements.txt
sudo apt-get install python3-pip python3-gi python-gi libwebkit2gtk-4.0-dev
pip3 install -r requirements-linux-gui.txt
pip3 install pywebview[qt5] 


./ <airodump CSV file>

–no-flush: Do NOT delete current database before adding new entries
manuf: Update the Wireshark OUI Lookup file
gui: Attempt to launch app in a GUI instead of browser (may not work)
–parse: Parse CSV files into neo4j database without launching app
-a or –airodump-csv: Airodump-ng formatted CSV