WifiGaze
WifiGaze is a network security tool designed to:
- Observe WiFi devices in your proximity.
- Create a graph of all devices they communicate with, including non-wireless devices if a WiFi device is interacting with them.
- Incrementally discover more devices as it hops through all available WiFi channels.
Features:
- Reveals devices on networks without decrypting any traffic.
- Web interface that can be accessed locally or configured remotely
- Supports exporting and importing of graphs.
Requirements
To use WifiGaze, you need something like default Kali (which gives the first 3):
- Python3
- Wireshark (tshark)
- sudo/root access - root is required to hop between wifi channels, it won't hop channels if you have the same number of interfaces as channels you are monitoring
- Wireless network interface(s) in monitor mode - See Example configuring of Monitor mode.
- if using a rpi
sudo apt-get install libxml2-dev libxslt-dev
Installing WifiGaze
Create a virtual environment and install the wheel
virtualenv venv
source venv/bin/activate
pip install wifigaze-0.4.0-py3-none-any.whl
Running WifiGaze
Run WifiGaze with default settings and the first WLAN interface:
wifigaze --interfaces=wlan0
For WLAN interfaces that don't support 5GHz, limit the channels to scan:
wifigaze --interfaces=wlan1 --channels=1,6,11
Replay a previously captured PCAP file without requiring live interfaces:
wifigaze --pcap-file=captures/demo.pcap
Once WifiGaze is running you can navigate to the web interface: http://127.0.0.1:8765
Command Line Options:
| Option | Description | Default |
|---|---|---|
| --interfaces= | List of WLAN interfaces to use (e.g., wlan0,wlan1). | |
| --channels= | List of channels to scan. | 1,6,11,36,40,44,48,149,153,157,161 |
| --channel-dwell-time= | Time to listen on each channel before switching. | 1 |
| --no-monitormode | Launches without listening to WLAN interfaces. | |
| --preload-graph= | Preload a previously exported graph. | None |
| --listen-ip= | IP address to listen on. | 127.0.0.1 |
| --listen-port= | Port to listen on. | 8765 |
| --no-browser | Do not launch the browser interface. | |
| --pcap-file= | Replay packets from a PCAP file instead of live capture. | None |
| --log-level= | Log level (TRACE, DEBUG, INFO, WARNING, ERROR, CRITICAL). | INFO |
| -h, --help | Display help message and exit. |
Building the Project
WifiGaze requires Python 3 and Node.js to build. Use the following commands:
python buildvue.py
python -m pip install --user setuptools wheel build
python -m build
Metadata
Release files for wifigaze 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wifigaze-0.5.0.tar.gz | 4.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wifigaze-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 MB
Release files / wifigaze-0.5.0.tar.gz
| Download URL | wifigaze-0.5.0.tar.gz |
|---|---|
| Size | 4.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
545a79074321dd68df8a4018fc3c8ff06d3878acac9cc40a6c557e77c93771e0
|
|
BLAKE2b-256 checksum How to use checksums |
1e4b4092c9531d00aaefaa65abe8ffbcedbb85a448dd7911102ecfca44b43ba2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Release files / wifigaze-0.5.0-py3-none-any.whl
| Download URL | wifigaze-0.5.0-py3-none-any.whl |
|---|---|
| Size | 4.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20f64b7011f09b1c5d9794d888c8227f488f9856deff4562c4ca0571dfdbee65
|
|
BLAKE2b-256 checksum How to use checksums |
e7e7a1b8dd9d6108032d64292048a0f276349847b77cf2b369e8813701d767b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|