AutoWIFI
Wireless penetration testing framework built for security professionals. Automates the full attack chain - from reconnaissance through exploitation - with a clean terminal interface.
Features
- Multi-vector attacks - WEP (ARP replay, fragmentation, chopchop), WPA/WPA2 (handshake capture, PMKID), WPS (pixie dust, PIN brute force)
- Smart target selection - Auto-recommends attack vectors based on target encryption and configuration
- Live scanning - Real-time network discovery with signal strength visualization and client tracking
- Multiple cracking backends - aircrack-ng, hashcat (GPU), John the Ripper
- Session management - Save, restore, and resume interrupted operations
- Report generation - Export findings in HTML, JSON, and text formats
- Interface management - Automatic monitor mode, MAC randomization, channel control
- Handshake verification - Multi-method validation of captured handshakes
- Wordlist discovery - Auto-detects installed wordlists (rockyou, seclists, etc.)
Requirements
- Linux with a wireless adapter that supports monitor mode
- Python 3.9+
- aircrack-ng suite (required)
- Optional: hashcat, reaver, bully, hcxdumptool, mdk4, macchanger
Installation
From PyPI
pip install autowifi
From source
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install .
Development
git clone https://github.com/momenbasel/AutoWIFI.git
cd AutoWIFI
pip install -e .
Usage
Interactive mode
sudo autowifi
Launches the full TUI with menu-driven workflow - scan, select target, attack, crack.
CLI mode
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 Vectors
| 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 |
Configuration
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
}
Project Structure
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
Legal
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.
License
GPL-3.0
Metadata
Release files for autowifi 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autowifi-2.0.0.tar.gz | 38.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autowifi-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.3 kB
Release files / autowifi-2.0.0.tar.gz
| Download URL | autowifi-2.0.0.tar.gz |
|---|---|
| Size | 38.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee6e81bc8094a4cdc6c4c6a634ad419cb71ca5663a989770e70df7b330cb0acc
|
|
BLAKE2b-256 checksum How to use checksums |
5501d254bf71ea970da16f043cb0f05f2d361f81e3262adf6d3bb3d5c19fe1d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / autowifi-2.0.0-py3-none-any.whl
| Download URL | autowifi-2.0.0-py3-none-any.whl |
|---|---|
| Size | 40.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2fa27bbf98625f3ed439b0af662956af2cd5334c6b04ae397ce269423d6d4170
|
|
BLAKE2b-256 checksum How to use checksums |
8afa732b8ebdddbd22f2896d208965c83d568df249cbb7dca85d59073064ef97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|