Skip to main content

EZMonitorModeButton

EZ Monitor Mode 3.0 GUI

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:

  1. sudo airmon-ng check kill (kills network managers, wpa_supplicant , dhcpcd , etc.)

  2. 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.

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

  1. Clone this repository:
    git clone https://github.com/ldl805/EZMonitorModeButton.git
    cd EZMonitorModeButton
    
  2. Install dependencies:
    sudo apt update
    sudo apt install python3-tk aircrack-ng wireless-tools iw
    
  3. 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 ezmonitormode to 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)

Source distribution for ezmonitormode 3.1.0
File Size Uploaded
ezmonitormode-3.1.0.tar.gz 16.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ezmonitormode 3.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

3.1.1

2 release files

This release

3.1.0 This release

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page