
Wireless penetration testing framework. Automates WPA/WPA2/WEP/WPS attacks - recon to exploitation in one command. aircrack-ng + hashcat + PMKID.
Wireless penetration testing framework.
Automates the full attack chain - recon through exploitation - with a clean terminal interface.
pip install autowifi
The framework wraps the aircrack-ng suite and related tools. Install them for your distro:
Debian / Ubuntu / Kali:
sudo apt update
sudo apt install -y aircrack-ng reaver bully hcxdumptool hcxtools hashcat macchanger mdk4 tshark
Arch Linux:
sudo pacman -S aircrack-ng reaver hashcat hcxdumptool hcxtools macchanger wireshark-cli
Fedora:
sudo dnf install aircrack-ng reaver hashcat hcxdumptool hcxtools macchanger wireshark-cli
Only aircrack-ng is strictly required. The rest unlock additional attack vectors (WPS, PMKID, GPU cracking, etc.).
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install .
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install -e .
sudo autowifi --version
AutoWIFI includes an MCP (Model Context Protocol) server, making all wireless pentesting tools available to AI coding assistants like Claude Code, Codex, Gemini, and Cursor.
pip install autowifi[mcp]
Add to ~/.claude/settings.json:
{
"mcpServers": {
"autowifi": {
"command": "autowifi-mcp"
}
}
}
Add to .cursor/mcp.json:
{
"mcpServers": {
"autowifi": {
"command": "autowifi-mcp"
}
}
}
| Tool | Description |
|---|---|
list_interfaces | List wireless interfaces with mode/driver/chipset |
enable_monitor | Enable monitor mode on an interface |
disable_monitor | Restore interface to managed mode |
scan_networks | Discover WiFi networks with encryption, signal, WPS, clients |
get_recommended_attacks | Get attack vectors for a target based on encryption |
capture_handshake | Capture WPA/WPA2 4-way handshake |
capture_pmkid | Capture PMKID hash (clientless) |
wps_pixie_dust | Run WPS Pixie Dust offline attack |
deauth | Send deauthentication frames |
crack_handshake | Crack handshake/PMKID with aircrack/hashcat/john |
verify_handshake | Validate a capture file |
find_wordlists | Discover installed wordlists |
check_dependencies | Check installed tools |
Now your AI agent can run wireless pentests autonomously.
sudo autowifi
Launches the full TUI with menu-driven workflow - scan, select target, attack, crack.
Scan networks:
sudo autowifi scan -i wlan0mon -d 30
Capture WPA handshake:
sudo autowifi capture -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -t 120
Crack a capture file:
sudo autowifi crack handshake.cap -w /usr/share/wordlists/rockyou.txt
Use hashcat backend:
sudo autowifi crack handshake.cap -w rockyou.txt --backend hashcat
| Attack | Encryption | Method |
|---|---|---|
| ARP Replay | WEP | IV collection via ARP request replay |
| Fragmentation | WEP | Keystream recovery through fragmented packets |
| ChopChop | WEP | KoreK chopchop keystream extraction |
| Handshake Capture | WPA/WPA2 | Deauth + 4-way handshake capture |
| PMKID | WPA/WPA2 | Clientless key extraction from first EAPOL frame |
| Pixie Dust | WPS | Offline WPS PIN recovery via Raghav Bisht / Dominique Bongard |
| PIN Brute Force | WPS | Online WPS PIN enumeration |
Settings are stored in ~/.autowifi/config.json. Edit through the interactive menu or directly:
{
"interface": "wlan0",
"scan_duration": 30,
"deauth_count": 15,
"handshake_timeout": 180,
"default_wordlist": "/usr/share/wordlists/rockyou.txt",
"crack_backend": "aircrack",
"mac_randomize": false,
"auto_crack": true
}
autowifi/
cli.py - Entry point, interactive mode, CLI commands
ui.py - Terminal UI components (Rich-based)
scanner.py - Network discovery and client tracking
attacks.py - WEP, WPA, WPS, PMKID attack implementations
handshake.py - Handshake capture and verification
cracker.py - Multi-backend password cracking
interface.py - Wireless interface management
session.py - Session persistence
report.py - HTML/JSON/text report generation
config.py - Configuration management
deps.py - Dependency checking
This tool is intended for authorized security testing and educational purposes only. Unauthorized access to computer networks is illegal. Always obtain proper written authorization before testing.
GPL-3.0