EZMonitorModeButton
A simple yet robust Python GUI for the Raspberry Pi to easily enable and disable monitor mode on a wireless interface.
In wireless security auditing, the standard way to enable monitor mode is using the aircrack-ng suite:
-
sudo airmon-ng check kill (kills network managers, wpa_supplicant , dhcpcd , etc.)
-
sudo airmon-ng start wlan0
While entering monitor mode is easy, exiting it can be tedious and frustrating:
The Annoyance:
When airmon-ng check kill runs, it completely destroys the system's normal internet connectivity. To get back online, a user has to stop monitor mode and manually restart all networking services in the correct sequence.
How EZMonitorModeButton solves this:
This program automatically stops the monitor interface and sequentially restarts NetworkManager, wpa_supplicant, avahi-daemon,and dhcpcd .
The Value:
It acts as a safety net. Instead of leaving the user with broken internet, a single click restores normal network state cleanly.
┌────────────────────────┐
│ Start Auditing │
└───────────┬────────────┘
│
┌────────────────┴────────────────┐
▼ ▼
[ Traditional CLI ] [ EZMonitorMode ]
│ │
sudo airmon-ng check kill │
sudo airmon-ng start wlan0 ▼
│ ┌───────────────┐
▼ │ Switch [ON] │
(Internet Killed) └───────┬───────┘
│ │
├─────────────────────────────────┘
▼
=================
Wireless Auditing
=================
│
├─────────────────────────────────┐
▼ ▼
[ Manual Restoration ] [ EZMonitorMode ]
│ │
sudo airmon-ng stop ... ▼
sudo ip link set up ... ┌───────────────┐
sudo systemctl restart NM... │ Switch [OFF] │
│ └───────┬───────┘
│ (Complex & slow) │ (Instant & clean)
▼ ▼
┌─────────────────────────────────────────────────┐
│ Internet Restored Automatically │
└─────────────────────────────────────────────────┘
Changelog
For the complete release history and detailed version notes, visit the Wiki Changelog.
Installation (Recommended)
Option 1: Debian Package (Pi/Ubuntu/Debian)
Download the latest .deb file from the Releases page and install it using:
sudo apt update
sudo apt install ./ezmonitormode_3.1.0_all.deb
Once installed, you can launch it from your application menu or by running ezmonitormode in the terminal.
Option 2: Via PyPI
pip install ezmonitormode
Once installed, run with sudo -E ezmonitormode.
Option 3: Running from Source
- Clone this repository:
git clone https://github.com/ldl805/EZMonitorModeButton.git cd EZMonitorModeButton
- Install dependencies:
sudo apt update sudo apt install python3-tk aircrack-ng wireless-tools iw
- Run the application:
sudo -E python3 src/ezmonitormode/monitor_gui.py
Troubleshooting
"no display name and no $DISPLAY environment variable"
This occurs if the GUI cannot find your screen.
- Running via SSH: Ensure you connected with X11 forwarding:
ssh -X user@pi. - Running via sudo: Use
sudo -E ezmonitormodeto preserve your display settings. - Running in Headless mode: This application requires a graphical desktop (Pi Desktop, VNC, etc.).
System Dependencies
Before running ezmonitormode, ensure you have the following system tools installed:
sudo apt update
sudo apt install python3-tk aircrack-ng wireless-tools
Optional tools for the shortcut buttons:
sudo apt install wifite wireshark kismet
License
MIT License
Metadata
Release files for ezmonitormode 3.1.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 | |
|---|---|---|---|
| ezmonitormode-3.1.0.tar.gz | 16.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ezmonitormode-3.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.0 kB
Release files / ezmonitormode-3.1.0.tar.gz
| Download URL | ezmonitormode-3.1.0.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b647aaad3951f4c17ea130a7c12a41d0885e7284dfe3f01c4ae234ec06c0077a
|
|
BLAKE2b-256 checksum How to use checksums |
c81ba24b628e55bccb85629b7a6475e28d4774e8dac39d592c9841774379685c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / ezmonitormode-3.1.0-py3-none-any.whl
| Download URL | ezmonitormode-3.1.0-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
126c64bc76f9f60181401ec6e5fcab2855a054aadbe125792f7bc4fb6daa011d
|
|
BLAKE2b-256 checksum How to use checksums |
e8df720d677fa289272f4ab01196095712350593cf2fcd9f2a325f7d8718fecd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|