scope first
Use WIPWN only on networks and devices you own or have explicit permission to assess. Stop if scope, consent, or system permissions are unclear.
Installation
The primary path is Termux from F-Droid on Android. Kali and Debian are legacy paths. Run each step in order.
1. Update Termux
Start from Termux installed through F-Droid, then refresh the package index.
$ pkg update && pkg upgrade -y2. Enable root packages
Enable the repository needed for rooted Android workflows.
$ pkg install root-repo -y3. Install dependencies
Install the tools WIPWN checks during diagnostics.
$ pkg install git python wpa-supplicant pixiewps iw openssl -y4. Choose privilege support
Use tsu on rooted Android. On environments without tsu, install sudo where supported.
$ pkg install tsu -y5. Clone WIPWN
Keep the checkout private. Never commit captures, passwords, PINs, reports, sessions, or wordlists.
$ git clone https://github.com/anbuinfosec/sudo python3 main.py && cd wipwn6. Prepare the launcher
Make the launcher executable before running local diagnostics.
$ chmod +x main.py7. Verify the environment
Run these in order. Fix missing dependencies or permissions before any lab activity.
$ sudo python3 main.py --doctor --verbose
sudo python3 main.py --dependencies
sudo python3 main.py --interfaces
sudo python3 main.py --wps-info
sudo python3 main.py --pixiewps-infoUninstall
$ rm -rf /path/to/wipwnOptional local session data is stored in ~/.Wipwn/.
$ rm -rf ~/.Wipwn/Requirements
Use Python 3.8+, Git, wpa_supplicant, pixiewps, iw, OpenSSL, and aircrack-ng tooling where applicable. Wireless interface access and privilege behavior vary by device. Rooted Android workflows may use tsu; supported Linux workflows may use sudo.
Diagnostics
Diagnostics inspect versions, packages, interfaces, WPS tooling, and Pixiewps compatibility without probing remote hosts.
$ sudo python3 main.py --doctor --verbose$ sudo python3 main.py --dependencies$ sudo python3 main.py --interfaces$ sudo python3 main.py --wps-info$ sudo python3 main.py --pixiewps-infoArgument reference
The complete searchable argument reference lives on the arguments page, with runnable command combinations on the examples page. Use it after diagnostics and keep every assessment bounded by an approved scope.
Open argument reference →Sessions
Name the exercise, record consent, and keep notes with the commands that produced them. Export only sanitized records.
$ sudo python3 main.py --session classroom-lab$ sudo python3 main.py --list-sessionsReporting
A useful report states scope, evidence, impact, and remediation. Never include secrets, personal data, or third-party targets in a shared report.
$ sudo python3 main.py --html-report --detailed-report --report-dir ./reports$ sudo python3 main.py --report-format json --json-output ./reports/audit.jsonConfiguration
Prefer explicit, local configuration. For demonstrations, use passive or read-only settings and keep environment-specific files out of version control.
$ sudo python3 main.py --dont-touch-settings --verboseTroubleshooting
If an interface is missing, inspect it with iwconfig and airmon-ng. For permission errors, use the supported privilege helper, rerun diagnostics, and do not weaken system controls. If a target is locked or rate-limited, stop and document it.
$ iwconfig\nairmon-ngSafety boundaries
WIPWN is for owned networks, explicit client authorization, educational labs, and defensive research. Do not use it to access, disrupt, evade monitoring on, or collect credentials from third-party systems. Sanitize logs before sharing them.
