Airstrike Documentation
This page explains how to prepare your workstation, run the Flask + Socket.IO server, configure defaults, and troubleshoot the official Airstrike Wi-Fi attack orchestrator.
Requirements
- Python 3.10+ with
pipavailable. - Project dependencies from
requirements.txt(install inside a virtualenv). - Root access (
run.pyexits if not launched with sudo). - A wireless adapter that supports monitor mode and injection.
- External CLI tooling present in
$PATH:airmon-ng,airodump-ng,aircrack-ngiw,ip,ifconfig(net-tools)hostapd,dnsmasq,iptables,dnsspoof
Quick Setup
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
sudo python run.py
The runner exports required environment variables, enforces sudo, ensures /etc/hosts contains 127.0.0.1 airstrike.local, and binds to 0.0.0.0:5000. Browse to http://airstrike.local:5000.
Using the Interface
- Scan tab — discover networks, view adapter state, and enable monitor mode.
- Attack tab — configure Deauth, Handshake Capture + Cracking, or Evil Twin parameters.
- Results — live logs, capture summaries, and handshake verification per BSSID.
Each attack is managed by a worker inside attacks/ and communicates through Socket.IO so you always have real-time status feedback.
Configuration
Global defaults live in web/shared.py:
config = {
'interface': 'wlan0',
'wordlist': '/usr/share/wordlists/rockyou.txt',
'output_dir': './captures/'
}
Modify these values to match your adapter names, favorite wordlists, or external storage paths. Captured handshakes are stored per BSSID under captures/.
Repository Layout
attacks/— Python workers for Deauth, Handshake capture/cracking, and Evil Twin orchestration.web/— Flask blueprints, Socket.IO events, templates, and front-end modules underweb/static/js/modules/attacks/.utils/— helpers for interface and monitor-mode management.run.py— single entry point that enforces root execution, handles host mapping, and boots Socket.IO logging.
Troubleshooting
- Interface stuck in monitor mode? Use Settings → Interface tools or call
utils/network_utils.set_managed_mode(). - Missing binaries? The attack log pane surfaces missing commands (e.g.,
hostapd). Install them via your package manager and restart. - No packets? Ensure your adapter supports monitor mode + injection; Atheros/Ralink USB NICs are dependable.
Disclaimer
Airstrike is intended for lab use, red-team exercises, and research on networks you own or have written authorization to test. Misuse may violate laws or policy—operate responsibly.
Support
Review the FAQ, open an issue on GitHub, or reach out through the channels listed on the contact page.