wifite2: the wireless auditor that drives aircrack-ng, reaver and hashcat for you
Rewrite of the popular wireless network auditor, "wifite"
At a glance
- What is it?
- wifite2 wraps the wireless auditing toolchain behind one interactive scan, so you pick a target instead of memorizing flags. It is built for Kali and ParrotSec with a monitor-mode card, and the README points most users to a maintained fork.
- Who is it for?
- Adopt wifite2 if you already run Kali or ParrotSec with an injection-capable card and want one menu over aircrack-ng, reaver, bully and hashcat. Skip it on Ubuntu, BackBox or any distribution whose wireless tools are outdated, and skip it if you need a Windows workflow, since it depends on Linux monitor mode.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 55 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What wifite2 automates, and who it is written for
wifite2 is a Python rewrite of the original wifite script for auditing wireless networks. Its stated purpose is to run existing wireless-auditing tools for you, so you stop memorizing command arguments and switches. The README lists four attack families it coordinates: the WPS offline Pixie-Dust attack, the WPS online brute-force PIN attack, WPA handshake capture with offline cracking, PMKID hash capture with offline cracking, and various WEP attacks including fragmentation, chop-chop and aireplay. The audience is narrow. The project says it is designed specifically for the latest version of Kali Linux, with ParrotSec also supported, and that other pen-testing distributions such as BackBox or Ubuntu ship outdated versions of the tools wifite2 calls. It also assumes a wireless card capable of monitor mode and packet injection. If you are on a stock laptop Wi-Fi chipset, nothing here will run, because the underlying tools need monitor mode before wifite2 has anything to scan.
How wifite2 drives aircrack-ng, reaver and hashcat
wifite2 is an orchestrator, not a radio stack. It enumerates wireless devices, enables monitor mode through `airmon-ng`, scans for access points with `airodump-ng`, and then dispatches attacks to whichever external binary fits the target. The README lists `iwconfig` for identifying devices already in monitor mode, `ifconfig` for starting and stopping them, and the aircrack-ng suite (`airmon-ng`, `aircrack-ng`, `aireplay-ng`, `airodump-ng`, `packetforge-ng`) as required. Optional but recommended tools do the specialised work: `tshark` for detecting WPS networks and inspecting handshake captures, `reaver` or `bully` for Pixie-Dust and PIN attacks, `coWPAtty` and `pyrit` for detecting handshake captures, and `hashcat` with `hcxdumptool` and `hcxpcaptool` for PMKID capture and cracking. If `tshark` is missing, the README notes that reaver's `wash` tool can be used to detect WPS networks instead. The rewrite also claims cleaner process management than the original wifite, which the README says left processes running in the background, and refreshes target access points every second instead of every five. Those are claims from the project's own comparison, not measurements I can confirm.
Installing wifite2 on Kali and running a first scan
The README gives two paths. The quickest is to clone and run the script directly, which avoids touching the system Python. The install path uses `setup.py`, which the repository defines with a console entry point of `wifite = wifite.wifite:entry_point` and a script at `bin/wifite`.
git clone https://github.com/derv82/wifite2.git
cd wifite2
sudo ./Wifite.pyRunning `sudo ./Wifite.py` from the clone starts the interactive scan. You should see a list of nearby access points with channel, power and encryption, refreshed continuously. From that list you select the targets you want and wifite2 begins trying the attacks it considers applicable.
To install it so `wifite` is available from any terminal, the README gives this command, which places the binary at `/usr/sbin/wifite`:
sudo python setup.py installThe README warns that uninstalling is not as easy. It points to a Stack Overflow answer and suggests recording the installed files first, then removing them:
sudo python setup.py install --record files.txt \
&& cat files.txt | xargs sudo rm \
&& rm -f files.txtA repository Dockerfile also exists. It builds from `python:2.7.14-jessie`, compiles aircrack-ng 1.2-rc4 from source, and installs pixiewps, bully, hashcat 3.6.0, reaver and cowpatty before cloning wifite2 and setting the entry point to `/bin/bash`. That image is a build recipe for a container, and the README does not present it as the supported way to run wifite2 against real hardware.
Where wifite2 fails, and when it is the wrong tool
The dependency surface is the main limitation. wifite2 does not implement WPA cracking itself; it calls `aircrack-ng`, `hashcat`, `pyrit` or `cowpatty`, and each of those has its own hardware and driver expectations. The README is explicit that only the latest versions of the required programs are supported, and that distributions with outdated tool versions should not expect support. That makes wifite2 a poor fit on a general-purpose Linux desktop even if Python runs there. The README also flags two behavioural gaps. Hidden access point decloaking only works when the channel is fixed, so you need `-c <channel>`; it can be disabled with `--no-deauths`. And 5GHz support exists behind the `-5` switch, but the README notes that some tools do not play well on 5GHz channels, naming `aireplay-ng` as an example. The release history is another caveat: the most recent tagged release listed is 2.2.5 from 2018-09-03, which added a `--pmkid-timeout` option and raised its default to 30 seconds. The repository's last push was on 2026-08-05, so commits continue, but the tagged releases do not reflect that activity. Finally, the README itself points readers to https://github.com/kimocoder/wifite2 for the most-supported version of wifite2, and to wifit3 for a rewrite that talks to USB adapters directly and runs on Windows. If either of those matches your environment, this repository is not the one to start with.
wifite2 against the aircrack-ng suite on its own
The obvious alternative is running the aircrack-ng suite manually, which is what wifite2 wraps. The difference is in who holds the state. With the raw tools you run `airmon-ng start`, then `airodump-ng` to find targets, then decide per target whether to deauth with `aireplay-ng`, capture a handshake, or switch to `reaver` for WPS, and you keep track of which capture file belongs to which BSSID. wifite2 keeps that state for you: it refreshes the target list, picks attacks per target, and stores cracked passwords and handshakes in the current directory when `--cracked` is used, including the access point name, BSSID and date. It can also retry cracking against a wordlist with `--crack`. The trade-off is control. The README's feature list shows the defaults are aggressive: PMKID capture is enabled by default, both WPS attacks are enabled by default, and WPA handshake capture is enabled unless you pass `--no-wps`. If you want to run one specific technique against one specific access point, driving aircrack-ng directly gives you the exact flags and the exact timing, while wifite2 gives you a menu and a set of defaults you then have to override.
Licence, upgrade cost and the fork question
wifite2 is licensed GPL-2.0, and `setup.py` declares `license='GNU GPLv2'`. If you redistribute it or ship it inside a product, that licence carries obligations that differ from permissive licences, and the fact that wifite2 shells out to separately licensed tools such as `hashcat` and `reaver` does not simplify the picture. That is a question for your own legal review, not something this article can settle. On upgrades, the practical cost is the external toolchain, not wifite2 itself. Because the README supports only the latest versions of aircrack-ng, tshark, reaver, bully and hashcat, a distribution upgrade that moves any of those can change behaviour without wifite2 changing at all. The install path compounds this: `setup.py` writes into system directories and the README admits uninstalling requires recording and deleting files by hand. If you are evaluating the project rather than committing to it, the clone-and-run path leaves no system state behind, and the `--record files.txt` variant of the install is the only removal route the README documents.
Editorial conclusion
Adopt wifite2 if you already run Kali or ParrotSec with an injection-capable card and want one menu over aircrack-ng, reaver, bully and hashcat. Skip it on Ubuntu, BackBox or any distribution whose wireless tools are outdated, and skip it if you need a Windows workflow, since it depends on Linux monitor mode. Before you rely on it, check whether derv82/wifite2 or kimocoder/wifite2 is the tree you actually want, and confirm that `tshark`, `reaver` and `hcxdumptool` are present, because the README treats them as optional while several default attacks depend on them.
Frequently asked questions
Which operating systems does wifite2 support?
The README states wifite2 is designed specifically for the latest version of Kali Linux, with ParrotSec also supported. It warns that other pen-testing distributions such as BackBox or Ubuntu ship outdated versions of the tools wifite2 calls, and that support should not be expected there.
What tools does wifite2 need installed before it works?
Required are python, iwconfig, ifconfig and the aircrack-ng suite (airmon-ng, aircrack-ng, aireplay-ng, airodump-ng, packetforge-ng). Recommended are tshark, reaver, bully, coWPAtty, pyrit, hashcat, hcxdumptool and hcxpcaptool, and the README says only the latest versions of these programs are supported.
How do I uninstall wifite2 after running setup.py install?
The README says uninstalling is not as easy and links to a Stack Overflow answer on the topic. It gives one route: install with `sudo python setup.py install --record files.txt`, then remove the recorded files with `cat files.txt | xargs sudo rm` and delete the list.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/derv82-wifite2)
Community notes