_ _ ____ _ _ _
/ \ (_) _ __ / ___| | |_ _ __ (_)| | __ ___
/ _ \ | || '__|\___ \ | __|| '__|| || |/ / / _ \
/ ___ \ | || | ___) || |_ | | | || < | __/
/_/ \_\|_||_| |____/ \__||_| |_||_|\_\ \___|
AirStrike is a Flask + Socket.IO web interface for orchestrating Wi-Fi assessment tools from a browser.
This build intentionally focuses on the three most stable attacks in the suite: Deauthentication, Cracking (handshake capture + aircrack-ng), and Evil Twin.
- Deauthentication – kicks associated clients off the selected AP by flooding crafted 802.11 deauth frames.
- Cracking (Handshake) – captures WPA/WPA2 handshakes while simultaneously brute-forcing them with
aircrack-ngand a configurable wordlist. - Evil Twin – clones the target SSID via
hostapd/dnsmasq, sets up DHCP/DNS spoofing, and can optionally front a captive portal.
All other experimental attack stubs were removed to keep the UI, API, and code paths lean.
- Python 3.10+ and
pip - Python deps from
requirements.txtpython -m venv .venv source .venv/bin/activate pip install -r requirements.txt - Root access (AirStrike refuses to start otherwise)
- External CLI tooling available in
$PATH:aircrack-ngsuite (airmon-ng,airodump-ng,aircrack-ng)iw,ip,ifconfig/net-toolshostapd,dnsmasq,iptables,dnsspoof- A wireless adapter that supports monitor mode and injection
sudo python run.pyThe runner enforces sudo, exports the required environment variables, and ensures /etc/hosts contains 127.0.0.1 airstrike.local.
The server binds to 0.0.0.0:5000; browse to http://airstrike.local:5000.
Use the Scan tab to discover networks, select one, then switch to Attack to configure the chosen attack.
Live logs and capture summaries are available under Results.
- Global defaults (interface, wordlist path, capture directory) live in
web/shared.pyunder theconfigdict:config = { 'interface': 'wlan0', 'wordlist': '/usr/share/wordlists/rockyou.txt', 'output_dir': './captures/' }
- Captured handshakes are stored per-BSSID inside
captures/. run.pyis the single entry point; it handles root enforcement, host mapping forairstrike.local, and Socket.IO startup logs.
attacks/– Python workers for deauth, handshake capture/cracking, and evil twin orchestration.web/– Flask blueprints, Socket.IO events, templates, and front-end modules (per-attack config lives inweb/static/js/modules/attacks/).utils/– helpers for interface/monitor-mode management.run.py– entry point that enforces root execution and prepares the environment.
- Interface stuck in monitor mode? Use the Settings → Interface tools or
utils/network_utils.set_managed_mode. - Missing binaries (e.g.,
airodump-ng,hostapd) will surface in the attack log pane. Install them through your package manager and restart AirStrike. - Ensure your wireless chipset supports the required modes; USB adapters with Atheros or Ralink chipsets are typically reliable.
AirStrike is intended for lab use, red-team exercises, and research on networks you own or are explicitly authorized to test. Misuse may violate law or policy—operate responsibly.