A simple yet powerful Python-based WiFi deauthentication attack tool for network security testing and educational purposes, which works perfectly with cheap USB wireless adapters.
What it does: Ever wanted to be that mysterious force that makes everyone's WiFi suddenly "forget" how to WiFi? This tool sends deauthentication packets that politely (or not-so-politely) tell devices "Hey, you're not welcome here anymore!" - making them disconnect faster than you can say "Why is my internet down?" Perfect for testing if your network can handle the chaos, or for educational purposes to understand WiFi security. Just remember: with great power comes great responsibility... and potentially great legal trouble if misused! ⚡📶
This tool is for authorized security testing and educational purposes only. Unauthorized use of this tool against networks you do not own or have explicit permission to test is illegal and may result in criminal charges. Use responsibly and ethically.
- Operating System: Kali Linux (recommended) or any Linux distribution with wireless tools. The tool also works as well with Kali Linux ran via Virtual Box.
- Python: Python 3.6 or higher
- Root privileges: Required for monitor mode and packet injection
- Wireless adapter: Must support monitor mode and packet injection (Tested with TP-LINK Archer T4U and TP-Link TL-WN722N with Realtek chipsets)
If you're installing from a git repository, first clone it:
# Clone the repository
git clone <repository-url>
cd WifiboomNote: Replace <repository-url> with your actual git repository URL. If you already have the project files, you can skip this step.
sudo apt update && sudo apt upgrade -y# Install aircrack-ng suite (includes airmon-ng)
sudo apt install -y aircrack-ng
# Install wireless-tools (includes iwconfig and iw)
sudo apt install -y wireless-tools
# Install Python 3 and pip (if not already installed)
sudo apt install -y python3 python3-pipNote: The script uses the iw command for channel switching, which is included in the wireless-tools package on most modern Linux distributions.
# Install scapy library
pip3 install -r requirements.txt
# Or install directly:
pip3 install scapy# Check if airmon-ng is available
airmon-ng --version
# Check if iwconfig is available
iwconfig --version
# Check if iw is available (used for channel switching)
iw --version
# Check if scapy is installed
python3 -c "import scapy; print(scapy.__version__)"IMPORTANT: This script must be run with root privileges and uses an interactive menu system.
# Make the script executable (optional)
chmod +x wifiboom.py
# Run the script (no command-line arguments needed)
sudo python3 wifiboom.pyThe script will guide you through the following steps:
-
Interface Selection: The script will display available wireless interfaces. Enter your interface name (e.g.,
wlan0) -
Band Selection: Choose which frequency bands to scan:
1- 2.4 GHz only2- 5 GHz only3- Both bands (2.4 GHz and 5 GHz)
-
Scan Duration: Enter how long to scan (in seconds). Default is
30seconds (press Enter to use default) -
Wait for Results: The script will scan and display found access points with their SSID, BSSID, and channel
-
Target Selection: Choose how to select targets:
1- By numbers: Enter indices separated by commas (e.g.,0,2,5)2- By name: Enter SSID name (partial match supported)3- By channel: Enter channel number to target all APs on that channel
-
Attack Type Selection: Choose attack intensity:
1- NORMAL: 10 packets per burst (stealthier)2- ULTRA-AGGRESSIVE: 128 packets per burst with socket flood. A high number of packets might overwhelm the adapter thus making the attack ineffective, therefore you can adjust the value as per your own consideration.
-
Attack Execution: The attack will begin. Press
Ctrl+Cto stop -
Cleanup: The script automatically restores monitor mode and restarts NetworkManager
$ sudo python3 wifiboom.py
# Script shows available interfaces
wlan0 IEEE 802.11 ESSID:off/any
...
Enter interface (e.g., wlan0): wlan0
Bands: [1] 2.4GHz | [2] 5GHz | [3] Both
Choice > 3
Scan duration (default 30s): 45
[*] Initializing monitor mode on wlan0...
[*] Scanning 26 channels for 45s...
[ 0] MyNetwork | aa:bb:cc:dd:ee:ff | Ch: 6
[ 1] AnotherNetwork | 11:22:33:44:55:66 | Ch: 11
...
--- TARGET SELECTION ---
Select by: [1] Numbers (0,1,2) | [2] Name (SSID) | [3] Channel
Choice > 1
Enter indices (e.g. 0,2): 0,1
--- ATTACK TYPE ---
[1] NORMAL (10 pkts/burst)
[2] ULTRA-AGGRESSIVE (128 pkts/burst | Socket Flood)
Choice > 2
[!] ATTACK STARTED. Press Ctrl+C to stop.
[LOG] 14:23:45 | Bursting: MyNetwork | Ch: 6
[LOG] 14:23:45 | Bursting: AnotherNetwork | Ch: 11
...To find your wireless interface name:
# Method 1: Using iwconfig
iwconfig
# Method 2: Using ip command
ip link show
# Method 3: Using ifconfig
ifconfig -a
# Method 4: List network interfaces
ls /sys/class/net/Common interface names: wlan0, wlan1, wlp2s0, wifi0
Solution: Run the script with sudo:
sudo python3 wifiboom.pySolution: Install aircrack-ng:
sudo apt install -y aircrack-ngSolution: Install wireless-tools (includes both iwconfig and iw):
sudo apt install -y wireless-toolsThe script uses iw for channel switching, which provides better stability with USB wireless adapters.
Solution: Install scapy:
pip3 install scapy
# Or if you have requirements.txt:
pip3 install -r requirements.txtPossible causes and solutions:
- Not running as root: Use
sudo - Interface is in use: Kill processes that might be using the interface:
sudo airmon-ng check kill - Driver doesn't support monitor mode: Check if your wireless adapter supports monitor mode:
Look for "monitor" in the output.
iw list | grep -A 10 "Supported interface modes"
Possible causes:
- No networks in range
- Wrong interface selected
- Interface not in monitor mode properly
- Try selecting option
3(Both) when prompted for band selection to include 5 GHz networks - Increase scan duration to allow more time for discovery
After running airmon-ng start wlan0, the interface might be renamed to wlan0mon. The script handles this automatically, but if you encounter issues, check the interface name:
iwconfigSolution: The script automatically restarts NetworkManager on exit. If you still have issues, manually restart it:
sudo service NetworkManager restart
# Or on newer systems:
sudo systemctl restart NetworkManager- Interactive menu system: User-friendly step-by-step interface
- Multi-band scanning: Supports 2.4 GHz, 5 GHz, or both bands
- Customizable scan duration: Adjust scan time based on your needs
- Flexible target selection: Select targets by index, SSID name, or channel
- Dual attack modes: Normal (10 pkts/burst) or Ultra-aggressive (128 pkts/burst)
- Persistent socket communication: Direct driver communication for better performance
- Multiple target support: Attack multiple access points simultaneously
- Automatic cleanup: Restores monitor mode and restarts NetworkManager on exit
- Hidden SSID detection: Handles networks with hidden SSIDs
This tool is provided for educational and authorized security testing purposes only. The authors and contributors are not responsible for any misuse or damage caused by this program. It is the end user's responsibility to obey all applicable local, state, and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.
This project is provided as-is for educational purposes.