Skip to main content

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)

Source distribution for autowifi 2.0.0
File Size Uploaded
autowifi-2.0.0.tar.gz 38.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autowifi 2.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page