
w1f1t3kAl1
This repo is a complete re-write of wifite, a Python script for auditing wireless networks.
Wifite runs existing wireless-auditing tools for you. Stop memorizing command arguments & switches!
Wifite is designed to use all known methods for retrieving the password of a wireless access point (router). These methods include:
Run wifite, select your targets, and Wifite will automatically start trying to capture or crack the password.
If you have two wireless adapters, wifite can use them simultaneously for significantly improved performance:
# Automatic dual interface mode (wifite detects and assigns interfaces)
sudo wifite --dual-interface
# Evil Twin attack with dual interfaces (30-50% faster)
sudo wifite --dual-interface --eviltwin
# WPA attack with dual interfaces (continuous capture, no packet loss)
sudo wifite --dual-interface --wpa
# Manual interface selection
sudo wifite --interface-primary wlan0 --interface-secondary wlan1
Benefits: Eliminates mode switching, enables parallel operations, improves reliability. See the Dual Interface Guide for complete details.
Note: Other penetration testing distributions may have outdated tool versions. Ensure you have the latest versions of aircrack-ng, hashcat, and related tools for best compatibility.
First and foremost, you will need a wireless card capable of "Monitor Mode" and packet injection (see this tutorial for checking if your wireless card is compatible and also this guide). There are many cheap wireless cards that plug into USB available from online stores.
Second, only the latest versions of these programs are supported and must be installed for Wifite to work properly:
Required:
python3 (Python 3.9+, tested up to Python 3.14)Iw: For identifying wireless devices already in Monitor Mode.Ip: For starting/stopping wireless devices.Aircrack-ng suite, includes:
airmon-ng: For enumerating and enabling Monitor Mode on wireless devices.aircrack-ng: For cracking WEP .cap files and WPA handshake captures.aireplay-ng: For deauthing access points, replaying capture files, various WEP attacks.airodump-ng: For target scanning & capture file generation.packetforge-ng: For forging capture files.Optional, but Recommended:
tshark: For detecting WPS networks and inspecting handshake capture files.reaver: For WPS Pixie-Dust & brute-force attacks.
wash tool can be used to detect WPS networks if tshark is not found.bully: For WPS Pixie-Dust & brute-force attacks.
--bully to use Bully instead of Reaver.reaver cannot after cracking WPS PIN.john: For CPU (OpenCL)/GPU cracking passwords fast.coWPAtty: For detecting handshake captures.hashcat: For cracking PMKID hashes and WPA3-SAE hashes.
For Evil Twin Attacks:
hostapd: For creating rogue access points (v2.9+ required).dnsmasq: For DHCP and DNS services (v2.80+ required).wpa_supplicant: For validating captured credentials (v2.9+ required).For most users on Kali Linux or similar distributions:
# Clone the repository
git clone https://github.com/kimocoder/wifite2.git
cd wifite2
# Or
git clone https://github.com/nu11secur1ty/w1f1t3kAl1.git
cd w1f1t3kAl1
python wifite.py --help
# Install system-wide
sudo python3 setup.py install
# Run wifite
sudo wifite
Poetry provides better dependency management and reproducible builds:
# Install Poetry (if not already installed)
curl -sSL https://install.python-poetry.org | python3 -
# Clone and enter directory
git clone https://github.com/kimocoder/wifite2.git
cd wifite2
# Install all dependencies (creates virtual environment automatically)
poetry install
# Run wifite
sudo poetry run wifite
# Or activate the Poetry shell
poetry shell
sudo wifite
For development or if you want to modify wifite:
# Clone and enter directory
git clone https://github.com/kimocoder/wifite2.git
cd wifite2
# Create virtual environment (optional but recommended)
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip3 install -r requirements.txt
# Run directly from source
sudo python3 wifite.py
On some distributions, wifite2 may be available through package managers:
# Kali Linux / Debian
sudo apt update && sudo apt install wifite
# Arch Linux (AUR)
yay -S wifite2-git
After installation, verify all dependencies are available:
sudo wifite --syscheck
This command provides a comprehensive report including:
airmon-ng check kill or use the --kill flag when starting Wifite to ensure reliable performance.PMKID hash capture - Fast, clientless WPA/WPA2 attack (enabled by default)
Passive PMKID Sniffing - Continuous, untargeted PMKID capture from all nearby networks (use with: --pmkid-passive)
WPS Pixie-Dust Attack - Offline WPS PIN recovery (enabled by default, force with: --wps-only --pixie)
WPS PIN Attack - Online WPS brute-force (enabled by default, force with: --wps-only --no-pixie)
WPA/WPA2 Handshake Capture - Traditional 4-way handshake attack (enabled by default, force with: --no-wps)
WEP Attacks - Multiple methods: replay, chopchop, fragment, hirte, p0841, caffe-latte
WPA3-SAE Support - Modern WPA3 hash capture and cracking
Evil Twin Attack - Rogue AP with captive portal for credential capture (use with: --eviltwin)
-c <channel>--no-deauthstshark, cowpatty, and aircrack-ng-5 switch)
--cracked--crack)-v, -vv, -vvv)💡 TIP: Use wifite -h -v to see all available options and advanced settings!
Wifite now includes comprehensive WPA3-SAE attack capabilities with automatic detection and intelligent strategy selection.
Wifite automatically selects the best attack strategy based on the target network:
Transition Mode Downgrade (80-90% success rate)
SAE Handshake Capture (60-70% success rate)
Passive Capture (50-60% success rate)
Dragonblood Exploitation (40-50% on vulnerable APs)
# Attack all networks including WPA3 (automatic detection)
sudo wifite
# Target only WPA3 networks
sudo wifite --wpa3-only
# Force SAE capture (skip downgrade attempts on transition mode)
sudo wifite --force-sae
# Disable downgrade attacks (pure SAE only)
sudo wifite --no-downgrade
# Check for Dragonblood vulnerabilities without attacking
sudo wifite --check-dragonblood
For WPA3 support, you need these tools with minimum versions:
Install on Kali Linux:
sudo apt update
sudo apt install hcxdumptool hcxtools hashcat
📖 For WPA3-specific troubleshooting, see WPA3 Troubleshooting
Wifite automatically detects these configurations and selects the optimal attack strategy.
# Attack a specific WPA3 network by BSSID
sudo wifite -b AA:BB:CC:DD:EE:FF
# Attack WPA3 with custom timeout (default: 300 seconds)
sudo wifite --wpa3-timeout 600
# Crack captured WPA3 handshake with wordlist
sudo wifite --crack --dict /path/to/wordlist.txt
# Verbose mode to see WPA3 detection and strategy selection
sudo wifite -vv
No WPA3 networks detected:
-5 flag to scan 5GHz channelsPMF prevents deauthentication:
SAE handshake capture fails:
--wpa3-timeoutHashcat cracking is slow:
Wifite includes a passive wireless attack monitoring feature that detects and logs malicious 802.11 management frames such as deauthentication and disassociation attacks. This feature is useful for security researchers, network administrators, and penetration testers who need to assess the security posture of wireless environments.
The attack monitor passively captures and analyzes:
# Start attack monitoring (infinite duration)
sudo wifite --monitor-attacks
# Monitor for a specific duration (in seconds)
sudo wifite --monitor-attacks --monitor-duration 300
# Monitor a specific channel
sudo wifite --monitor-attacks --monitor-channel 6
# Enable channel hopping (monitor all 2.4GHz channels)
sudo wifite --monitor-attacks --monitor-hop
# Specify custom log file location
sudo wifite --monitor-attacks --monitor-log /path/to/attack_log.txt
# Use classic text mode instead of TUI
sudo wifite --monitor-attacks --no-tui
When running in TUI mode (default), the attack monitor displays:
Attack Statistics Panel
Recent Attack Events Log
Networks Under Attack
Active Attackers
Attack events are logged in a structured format for easy analysis:
2025-10-30T15:23:45.123456 | DEAUTH | Attacker: AA:BB:CC:DD:EE:FF | Target: 11:22:33:44:55:66 | BSSID: AA:BB:CC:DD:EE:FF | ESSID: MyNetwork | Channel: 6
Each log entry includes:
The attack monitoring feature requires:
tshark (part of Wireshark) - For frame capture and analysis
# Install on Kali/Debian/Ubuntu
sudo apt install tshark
# Install on Arch Linux
sudo pacman -S wireshark-cli
Wireless adapter in monitor mode - Wifite will automatically enable monitor mode
Root/sudo access - Required for packet capture
Security Assessment:
# Monitor your network for 1 hour to detect attacks
sudo wifite --monitor-attacks --monitor-duration 3600 --monitor-log security_audit.log
# Monitor with verbose output for debugging
sudo wifite --monitor-attacks -vv --monitor-log detailed_audit.log
Penetration Testing:
# Monitor a specific channel during a pentest
sudo wifite --monitor-attacks --monitor-channel 11 --monitor-log pentest_attacks.log
# Monitor target network's channel with custom interface
sudo wifite -i wlan1 --monitor-attacks --monitor-channel 6 --monitor-duration 1800
Research and Analysis:
# Monitor all channels to study attack patterns in an area
sudo wifite --monitor-attacks --monitor-hop --monitor-log research_data.log
# Long-term monitoring with timestamped logs
sudo wifite --monitor-attacks --monitor-hop --monitor-log "attacks_$(date +%Y%m%d_%H%M%S).log"
Network Defense:
# Continuous monitoring with automatic log rotation
sudo wifite --monitor-attacks --monitor-log /var/log/wifite/attacks_$(date +%Y%m%d).log
# Monitor specific channel in classic mode (no TUI, lower resource usage)
sudo wifite --monitor-attacks --monitor-channel 1 --no-tui --monitor-log attacks.log
Incident Response:
# Quick 5-minute scan to detect active attacks
sudo wifite --monitor-attacks --monitor-duration 300 --monitor-hop
# Monitor during a specific time window
sudo wifite --monitor-attacks --monitor-duration 7200 --monitor-log incident_$(date +%Y%m%d).log
Compliance and Auditing:
# Scheduled monitoring with detailed logging
sudo wifite --monitor-attacks --monitor-duration 3600 --monitor-log /var/log/compliance/wireless_$(date +%Y%m%d).log -vv
# Monitor specific interface and channel for compliance testing
sudo wifite -i wlan0mon --monitor-attacks --monitor-channel 6 --monitor-log compliance_audit.log
High Attack Counts on Your Network:
Multiple Networks Under Attack:
Consistent Attacker MAC:
Periodic Attack Patterns:
Resource Usage:
Optimization Tips:
--monitor-channel to focus on specific channels for better performance--no-tui) on resource-constrained systemsScalability:
Q: Can I monitor attacks while running other wifite attacks?
A: No, attack monitoring is a standalone mode. You cannot run --monitor-attacks simultaneously with other attack modes like --wpa or --eviltwin.
Q: Will attack monitoring interfere with networks? A: No, attack monitoring is completely passive. It only captures and analyzes frames without sending any packets or interfering with network operations.
Q: How accurate is the attack detection? A: Very accurate. The monitor detects genuine deauth/disassoc frames based on 802.11 frame types. However, some legitimate network operations may also use these frames (e.g., AP reboots, client roaming).
Q: Can I monitor 5GHz networks?
A: Yes, if your wireless adapter supports 5GHz monitor mode. Use --monitor-channel with a 5GHz channel number (e.g., 36, 40, 44, 48, etc.).
Q: What's the difference between --monitor-channel and --monitor-hop?
A: --monitor-channel focuses on a single channel for comprehensive monitoring, while --monitor-hop cycles through all 2.4GHz channels to detect attacks across the spectrum. Use --monitor-channel for targeted monitoring and --monitor-hop for area-wide surveillance.
Q: How long should I monitor to get meaningful results? A: It depends on your goals. For quick assessment, 5-10 minutes may be sufficient. For comprehensive analysis, monitor for 30-60 minutes. For baseline establishment, consider 24-hour monitoring.
Q: Can I analyze the log files programmatically? A: Yes, log files use a structured format with pipe-delimited fields, making them easy to parse with scripts, awk, grep, or import into databases/spreadsheets.
Q: Does monitoring work on all wireless adapters? A: Any adapter that supports monitor mode will work. However, some adapters have better sensitivity and range, which affects detection capability.
Q: What should I do if I detect attacks on my network? A: First, verify the attacks are unauthorized. If confirmed malicious, document the evidence, identify the attacker's location if possible, implement countermeasures (WPA3, PMF), and report to appropriate authorities if necessary.
Q: Can attackers detect that I'm monitoring? A: No, passive monitoring is undetectable. Your wireless adapter only receives frames without transmitting anything.
Wifite integrates with wpa-sec.stanev.org, a free online WPA/WPA2/WPA3 password cracking service. Upload your captured handshakes and PMKIDs to leverage distributed computing resources for cracking.
# Enable wpa-sec uploads with your API key
sudo wifite --wpasec --wpasec-key YOUR_API_KEY
# Automatic upload mode (no prompts)
sudo wifite --wpasec --wpasec-key YOUR_API_KEY --wpasec-auto
# Upload with email notifications
sudo wifite --wpasec --wpasec-key YOUR_API_KEY --wpasec-email [email protected]
# Remove capture files after successful upload
sudo wifite --wpasec --wpasec-key YOUR_API_KEY --wpasec-auto --wpasec-remove
Interactive Mode (Default)
sudo wifite --wpasec --wpasec-key YOUR_API_KEY
Automatic Mode
sudo wifite --wpasec --wpasec-key YOUR_API_KEY --wpasec-auto
Wifite can upload all types of WPA/WPA2/WPA3 captures to wpa-sec:
Note: wpa-sec only accepts pcap/pcapng packet capture formats. Hash files (.22000) are not supported for upload.
Basic WPA attack with upload:
sudo wifite --wpa --wpasec --wpasec-key YOUR_API_KEY
PMKID attack with automatic upload:
sudo wifite --pmkid --wpasec --wpasec-key YOUR_API_KEY --wpasec-auto
WPA3 attack with email notifications:
sudo wifite --wpa3-only --wpasec --wpasec-key YOUR_API_KEY --wpasec-email [email protected]
Target specific network and upload:
sudo wifite -b AA:BB:CC:DD:EE:FF --wpasec --wpasec-key YOUR_API_KEY
Dual interface mode with automatic upload:
sudo wifite --dual-interface --wpasec --wpasec-key YOUR_API_KEY --wpasec-auto
WPA-SEC integration requires the wlancap2wpasec tool from the hcxtools suite:
# Kali Linux / Debian / Ubuntu
sudo apt update && sudo apt install hcxtools
# Arch Linux
sudo pacman -S hcxtools
# Verify installation
wlancap2wpasec --version
Note: wlancap2wpasec is optional - wifite will work normally without it, but wpa-sec upload features will be unavailable.
"wlancap2wpasec not found" error:
sudo apt install hcxtoolswhich wlancap2wpasec"Invalid API key" error:
"Upload failed: Connection timeout" error:
--wpasec-timeout 60"No handshake in capture file" error:
tshark or aircrack-ngUpload succeeds but file not removed:
--wpasec-remove flagWhat Gets Uploaded:
What Does NOT Get Uploaded:
Best Practices:
--wpasec-remove to avoid leaving sensitive files on diskLegal Reminder: Only upload captures from networks you own or have explicit written authorization to test. Uploading captures from unauthorized networks may be illegal in your jurisdiction.
After uploading, visit wpa-sec.stanev.org to:
If you provided an email address with --wpasec-email, you'll receive notifications when passwords are successfully cracked.
Wifite automatically saves your attack progress and allows you to resume interrupted sessions:
# Start an attack (progress is automatically saved)
sudo wifite
# If interrupted (Ctrl+C, crash, power loss), resume with:
sudo wifite --resume
# Resume the most recent session automatically:
sudo wifite --resume-latest
# Resume a specific session by ID:
sudo wifite --resume-id session_20250126_120000
~/.wifite/sessions/ with secure permissions (600)# List and choose from available sessions
sudo wifite --resume
# Clean up old session files (older than 7 days)
sudo wifite --clean-sessions
Q: No session files found
~/.wifite/sessions/ directory exists and has proper permissionsQ: Corrupted session file
--clean-sessions to manually remove problematic sessionsQ: Interface changed
Q: Session not resuming correctly
--resume to see session details before confirming-c <channel> to focus on specific channels-first 5 to attack only the strongest targets first--pmkid for fastest WPA/WPA2 attacks (no clients needed)--no-wps on newer routers that likely have WPS disabled--dict <wordlist>wifite was bad about this).--verbose option (expandable to -vv or -vvv) shows which commands are executed & the output of those commands."Too many open files" error:
Permission denied errors:
sudoInterface not found:
sudo airmon-ng to see available interfacessudo airmon-ng start <interface> to enable monitor mode manuallyWPS attacks failing:
reaver and/or bully are installed and up-to-date--pixie flag for Pixie-Dust attacks specificallyHandshake capture issues:
--num-deauths to increase deauth attemptsWPA3 attack issues:
-vv to see detailed WPA3 detection and strategy informationWPA3 cracking performance:
hashcat -I to list devicesAttack monitoring issues:
sudo apt install tshark (Debian/Ubuntu) or sudo pacman -S wireshark-cli (Arch)sudo - packet capture requires root privileges--monitor-channel instead of --monitor-hop to reduce processing load--no-tui or check terminal compatibilityAttack monitoring performance:
-v, -vv, or -vvv to see detailed command outputwifite --help to see if all tools are detectedFor more help, please open an issue with:
-vvv flagEvil Twin Attack Guide - Complete guide to Evil Twin attacks
Evil Twin Troubleshooting - Evil Twin-specific issues and solutions
TUI (Text User Interface) Guide - Interactive mode documentation
WPA3 Troubleshooting - WPA3-specific issues and solutions
WPA3 Detection Optimization - WPA3 detection and optimization details
Dual Interface Examples - Dual wireless interface usage examples
For quick help on any feature, use the verbose help flag:
sudo wifite -h -v # Show all options with examples
For Evil Twin specific help:
sudo wifite -h -v | grep -A 20 "EVIL TWIN"
For Dual Interface specific help:
sudo wifite -h -v | grep -A 20 "DUAL INTERFACE"
For Passive PMKID specific help:
sudo wifite -h -v | grep -A 10 "PMKID"
For Attack Monitoring specific help:
sudo wifite -h -v | grep -A 15 "ATTACK MONITOR"
Wifite2 stands on the shoulders of giants. We are deeply grateful to the following projects and contributors whose tools and libraries make this project possible:
aircrack-ng - The aircrack-ng team for the comprehensive suite of wireless auditing tools
ZerBea - For the excellent hcxtools suite
hashcat - The hashcat team for the world's fastest password recovery tool
rofl0r - For pixiewps
wiire-a - For the alternative pixiewps implementation
t6x - For reaver-wps-fork-t6x
aanarchyy - For bully
hostapd - Jouni Malinen and contributors
dnsmasq - Simon Kelley
wpa_supplicant - Jouni Malinen and contributors
tshark/Wireshark - The Wireshark Foundation
macchanger - Álvaro López Ortega
coWPAtty - Joshua Wright
John the Ripper - Solar Designer and contributors
Special thanks to all the contributors who have submitted pull requests, reported issues, tested features, and helped improve wifite2. Your contributions make this project better for everyone.
Note: If you maintain one of these tools and would like to update this attribution or add additional information, please open an issue or pull request.
Wifite2 is actively maintained and welcomes contributions! Here's how you can help:
-vvv) to capture detailed logsMaintainer: @kimocoder Original Author: @derv82
⚠️ Legal Disclaimer: This tool is for educational and authorized testing purposes only. Only use on networks you own or have explicit permission to test. Unauthorized access to computer networks is illegal.
hcxdumptool: For capturing PMKID hashes and WPA3-SAE handshakes.hcxpcapngtool: For converting PMKID and SAE packet captures into hashcat's format.hcxdumptool v6.0.0+ and hashcat v6.0.0+ with mode 22000 support.macchanger: For randomizing MAC addresses to avoid detection and improve anonymity.pixiewps: For WPS Pixie-Dust attacks (alternative implementation).Dual Wireless Interface Support - Use two adapters simultaneously for improved performance (use with: --dual-interface)
Wireless Attack Monitoring - Passive detection and analysis of wireless attacks (use with: --monitor-attacks)
| Option | Description | Example |
|---|
--wpasec | Enable wpa-sec upload functionality | --wpasec |
--wpasec-key [key] | Your wpa-sec.stanev.org API key | --wpasec-key abc123... |
--wpasec-auto | Automatically upload without prompting | --wpasec-auto |
--wpasec-url [url] | Custom wpa-sec server URL | --wpasec-url https://custom.server |
--wpasec-timeout [sec] | Connection timeout in seconds (default: 30) | --wpasec-timeout 60 |
--wpasec-email [email] | Email address for notifications | --wpasec-email [email protected] |
--wpasec-remove | Delete capture files after successful upload | --wpasec-remove |