A passive WiFi monitoring tool that discovers access points and tracks client associations in real-time, featuring a web-based interface for visualization.
- Passive monitoring - Undetectable scanning using monitor mode
- Real-time discovery - Detects access points and connected clients
- Client tracking - Maps client associations and probe requests
- Vendor identification - MAC address vendor lookup
- Web interface - Live dashboard at http://localhost:5000
- Channel hopping - Scans across multiple WiFi channels automatically
- Linux system with wireless adapter supporting monitor mode
- Python 3.7+
- Root privileges for monitor mode operations
- Clone the repository:
git clone https://github.com/Yuriibe/AirGraph.git
cd AirGraph- Install dependencies:
pip install -r requirements.txt- Ensure your wireless adapter supports monitor mode:
sudo airmon-ng checkEdit config/settings.py to customize:
INTERFACE- Your wireless interface nameCHANNELS- WiFi channels to monitorCHANNEL_DWELL_TIME- Time spent on each channelSUMMARY_INTERVAL- Console output frequencyVENDOR_DB_PATH- Path to MAC vendor database
Run the scanner with root privileges:
sudo python main.pyThe scanner will:
- Set your wireless interface to monitor mode
- Start channel hopping across configured channels
- Begin packet capture and analysis
- Launch web interface on port 5000
- Display periodic summaries in console
Access the web dashboard at: http://localhost:5000
wifiscanner/
├── main.py # Entry point
├── config/
│ └── settings.py # Configuration
├── core/
│ ├── network_scanner.py # Channel hopping & packet capture
│ └── packet_handler.py # 802.11 frame processing
├── display/
│ └── formatter.py # Console output formatting
├── helper/
│ ├── interface_manager.py # Monitor mode management
│ └── vendor_manager.py # MAC vendor lookups
└── web/
├── server.py # Flask web server
└── templates/
└── index.html # Web dashboard
======================================================================
📡 DISCOVERED ACCESS POINTS
======================================================================
SSID: HomeNetwork | BSSID: xx:xx:xx:xx:xx:01 | Clients: 2 | Vendor: Cisco Systems Inc
SSID: GuestWiFi | BSSID: xx:xx:xx:xx:xx:02 | Clients: 0 | Vendor: Netgear Inc.
SSID: OfficeNet | BSSID: xx:xx:xx:xx:xx:03 | Clients: 1 | Vendor: TP-LINK TECHNOLOGIES
======================================================================
👥 DISCOVERED CLIENTS
======================================================================
Client: xx:xx:xx:xx:xx:10 | Connected to: HomeNetwork (xx:xx:xx:xx:xx:01) | Vendor: Apple Inc.
Client: xx:xx:xx:xx:xx:11 | Probing for: HomeNetwork | Vendor: Samsung Electronics
Client: xx:xx:xx:xx:xx:12 | Status unknown | Vendor: Intel Corporate
This tool is designed for network security assessment and educational purposes. Only use on networks you own or have explicit permission to test. Unauthorized network monitoring may violate local laws.
- Access Points: SSID, BSSID, vendor, connected client count
- Clients: MAC address, connection status, probe requests, vendor
- Associations: Which clients are connected to which access points
Press Ctrl+C to stop. The interface manager will automatically restore your wireless adapter to its original state.
Interface errors: Ensure no other tools are using your wireless adapter
Permission denied: Run with sudo
No packets captured: Verify your adapter supports monitor mode
Web interface shows no data: Check console for any error messages
