A professional, automated wrapper designed to streamline network security testing using Bettercap's arp.ban module. deny_all_wifi simplifies complex network auditing tasks into a reliable, automated workflow.
Originally developed as a private Bash tool, this project has been completely rewritten in Go to provide a robust, high-performance, and feature-rich public application.
- Requirements
- Project Overview
- Demo
- Legal Warning & Disclaimer
- How It Works
- Features
- Dependency Lists
- Installation
- Usage
- Configuration
- Credits
- License
To use this tool, your system must meet the following criteria:
- Operating System: Linux (Debian, Arch, Fedora, or OpenSUSE based distributions).
- Privileges: Root/Sudo access is mandatory.
- Hardware: A Wi-Fi adapter capable of monitor mode (though managed mode often works for ARP tasks).
- Software Dependencies:
- Runtime:
bettercap,macchanger,iproute2. - Build:
golang(only required if compiling from source).
- Runtime:
Note: The application performs a dependency check upon launch. If tools are missing, the software will provide guidance or offer to install them via your system package manager. New in v1.5.0: Both the Go and Bash versions support automated dependency installation and update checking.
deny_all_wifi is an automation utility that simplifies the process of performing ARP spoofing and Denial of Service (DoS) testing. It eliminates the need for manual command construction by automatically scanning for wireless interfaces, randomizing hardware addresses for OPSEC, and deploying a pre-configured Bettercap attack sequence.
The application identifies active Wi-Fi adapters and provides an interactive setup for attack parameters.

Real-time feedback during the Bettercap execution sequence.

[!] IMPORTANT: READ CAREFULLY [!]
This software is for educational and authorized security testing purposes only.
- DO NOT run this tool on any network you do not own or have explicit, written permission from the owner to test.
- Unauthorized access to or disruption of a network is illegal in most jurisdictions.
- The developers assume no liability and are not responsible for any misuse or damage caused by this program.
This tool includes a feature to auto-install missing dependencies via your system's package manager. There is no manual toggle for this once the process is confirmed; by selecting "yes" when prompted, you authorize the script to modify your system packages.
The program follows a logical security workflow:
- Privilege Check: Verifies root/sudo access (required for raw socket manipulation).
- Interface Selection: Scans the system for Wi-Fi adapters and displays their IPv4, IPv6, and Gateway information in a neat table.
- OPSEC (MAC Randomization): Temporarily takes the selected interface down, randomizes the MAC address using
macchanger, and brings the interface back up. - Configuration Loading: Loads or creates a persistent configuration file stored in your home directory.
- Attack Deployment: Constructs a Bettercap script based on your profile and launches the
arp.banmodule.
- Automatic Dependency Check & Updates: Detects and offers to install missing tools like
bettercap,macchanger, andiproute2(available in both Go and Bash). Offers update checks post-initialization. - Intelligent Configuration: Supports both "Default" quick-start and "Interactive" custom setups.
- Persistent Settings: Saves your preferences to a dedicated directory for future use.
- MAC Details Preview: Displays a clear summary of your Permanent vs. New MAC address.
- Universal Installer (
install.sh): A professional script that can Build, Install (Globally or Locally), Uninstall, or Recompile the application. It also offers to purge the Go compiler after building to keep your system clean.
Required only to compile the Go code:
golang(Go Programming Language)
Required to execute the application:
bettercap(Network attack and monitoring framework)macchanger(MAC address manipulation)iproute2(Standard Linux networking toolkit)
Bash Alternative: For users who wish to avoid installing Go entirely, the original Bash script is located in the
bash/directory. It offers identical functionality with no build dependencies.
The easiest way to install is using the provided install.sh script. This script will build and install the application globally or locally.
- Clone the repository:
git clone https://github.com/tilas01/deny_all_wifi.git cd deny_all_wifi - Run the build script:
cd go chmod +x install.sh ./install.sh - Follow the prompts to either install globally (to
/usr/local/bin) or keep the binary local.
To remove the Go compiler and save system storage after building, you can use the built-in cleanup flag inside the repo:
cd go
sudo ./install.sh --cleanup-goThis only removes the compiler; your compiled deny_all_wifi binary will remain functional.
Simply run the command from any terminal:
sudo deny_all_wifiRun the compiled binary directly:
sudo ./deny_all_wifi- Select your Wi-Fi interface by its number in the table.
- Confirm your configuration profile.
- Review the MAC address change details.
- Launch the attack.
- Press
Ctrl+Cat any time to stop the attack and return the network to normal.
Regardless of whether you install the application globally or run it as a local binary from the current path, the configuration file is stored in a centralized directory to ensure your settings persist:
~/bettercap_conf/deny_all_wifi.conf
Note: This shared configuration path allows you to switch between the Go and Bash versions seamlessly without losing your preferences.
| Setting | Description |
|---|---|
fullduplex |
Attack both the target and the access point. |
sniff_traffic |
Enable network traffic sniffing/logging. |
spoof_internal |
Enable ARP spoofing for local LAN traffic. |
whitelist |
A comma-separated list of IPs or MACs to ignore. |
- tilas01: Project Owner, Lead Developer, and Original Concept.
- Google Gemini: World-class AI coding assistant.
Note: Artificial Intelligence (Google Gemini) was utilized as a resource for researching syntax, documentation standards, and architectural best practices. Only small, specific segments of the code and descriptive text within this repository are entirely AI-generated.
This project is licensed under the MIT License. See the LICENSE file for details.
Disclaimer: This tool is intended for use by security professionals and researchers.