Wifite2 - Automated Wireless Auditor

Wifite2 - Automated Wireless Auditor

October 22, 2026 · 7 min read · tools

wifi wireless

What is Wifite2?

Wifite2 is a tool that largely automates the testing of wireless networks. You see the WiFi networks in range, pick a target and the tool carries out the well-known attacks against it on its own. Wifite2 is written in Python and is the rewrite of the original Wifite from 2010.

Wifite2 is not a cracking tool itself. It is a clever way of driving tools that were already there: Aircrack-ng for capturing and cracking handshakes, reaver and bully for WPS attacks, and tshark for reading out captures. The gain is in the order. Wifite2 works out per network which attack stands a chance, tries it, and moves on to the next one if it does not succeed. That saves you tying separate commands together by hand.

The tool comes with Kali Linux by default. For some years now the original repository has been getting few updates, and Kali ships a more actively maintained fork. The author has since moved on to wifit3, which turns the approach on its head.

What do we use Wifite2 for?

In a WiFi pentest Wifite2 is the tool for the first pass. In one run you see which access points are there, which encryption they run, whether WPS is open and how many clients are attached to them. That tells us straight away where the weak spots are.

After that we use the tool to demonstrate it. A captured handshake that then breaks open with Hashcat proves that the WiFi key is too weak. A successful PixieDust attack proves that WPS has to be switched off. Those are the concrete findings that end up in a report, along with the evidence.

Installing Wifite2

On Kali Linux Wifite2 is already installed and you start it directly with sudo wifite. On another distribution, or if you want the latest version from source:

git clone https://github.com/derv82/wifite2.git
cd wifite2 && sudo python3 setup.py install

# Check that everything works and which components are missing
sudo wifite -h

Bear in mind that Wifite2 leans on external programs. If aircrack-ng, reaver or tshark is missing, the tool quietly skips the attacks that go with it, without a clear error message. So always check first that they are present.

Using Wifite2

Connect a suitable USB adapter first. If you are working in a virtual machine, pass the device through to the VM and not to the host system. Wifite2 then selects the adapter itself and puts it into monitor mode, so you do not have to fiddle with airmon-ng by hand.

# Standard start: shut down conflicting processes and scan all channels
sudo wifite --kill

The tool starts scanning and shows the networks it finds. The ESSID column holds the name, CH is the channel, PWR the signal strength and CLIENTS the number of connected devices. Let the scan run for a while, because clients only appear once they send traffic. Press CTRL+C to stop and enter the number of your target, or a range such as 1,3-5.

From that point on Wifite2 works through the attacks itself, one after another, so the network does not get overloaded by everything being tried at once.

In practice you steer that process with filters, so that you do not end up on networks that fall outside the scope:

# Only WPA networks that actually have clients on them
sudo wifite --kill --wpa --clients-only

# Lock onto one channel, which saves a lot of time if you already know the target
sudo wifite --kill -c 6

# PMKID only: no client needed and you disturb nobody
sudo wifite --kill --pmkid

# Fully passive: never deauthenticate
sudo wifite --kill --nodeauths

# Use your own wordlist for the cracking
sudo wifite --kill --dict /usr/share/wordlists/rockyou.txt

Afterwards you check what has been captured and what has already been cracked:

# Show access points cracked earlier
sudo wifite --cracked

# Check a capture for a usable handshake
sudo wifite --check hs/handshake_TestLab_02-5f-a3-1c-84-d0.cap

Important options of Wifite2

Option Purpose
--kill Shuts down processes that conflict with monitor mode, such as NetworkManager
-i [interface] Pick which adapter is used yourself, for example wlan0mon
-c [channel] Scan only on this channel instead of all channels
--wpa Show only networks with WPA encryption
--wps Show only networks on which WPS is switched on
--wps-only Use WPS attacks exclusively, skip handshakes
--pmkid Use PMKID capture only, without deauths or WPS attacks
--dict [file] Wordlist for cracking the handshake
--clients-only Show only networks that have clients on them
--nodeauths Passive mode, never send deauthentication frames
--new-hs Ignore existing captures and capture a fresh handshake
-mac Use a random MAC address for your adapter
-p [seconds] Pillage: after this scan time, attack all targets automatically
--cracked Show the access points you have cracked earlier

The --nodeauths option is one to remember. Deauthentication actively breaks users’ connections, and that is by no means always acceptable within the agreed scope. Listening in passively takes longer, but disturbs nothing. The same goes for -p, pillage mode: it attacks everything it sees, and in an environment with neighbouring networks that is exactly what you do not want.

Which attacks does Wifite2 carry out?

Attack What it does
WPA/WPA2 handshake Captures the four-way handshake, usually by deauthenticating a client so that it reconnects
PMKID Takes key material straight from the access point, without a client being needed
WPS PixieDust Calculates the WPS pin offline from weak randomness in the access point
WPS pin bruteforce Tries pin codes through reaver or bully, with recognition of AP lockouts
WEP ARP replay, chopchop, fragmentation and fake authentication

A captured handshake is not a password yet. Wifite2 tries to crack it with a bundled wordlist, but for serious cracking work you export the capture and put Hashcat on it with a GPU. If that does not succeed, that in itself is a perfectly good finding: the key is strong enough.

Wifite2 or wifit3?

Both tools come from the same author, but they solve the problem differently. Wifite2 drives existing Linux tools and needs a kernel driver in monitor mode to do so. wifit3 drops that and talks to the USB adapter directly, which is why it also works on Windows and macOS and why you no longer need aircrack-ng.

Choose Wifite2 if you work on Kali and have an adapter that handles monitor mode, because the hardware support is broader and the tool is proven. Choose wifit3 if your adapter is on the supported list, if you want to test WPA3 networks in transition mode, or if you do not work on Linux. If you want to understand what happens under the hood, bring in Aircrack-ng and carry out the steps by hand. We use all three, depending on the environment and the scope.

Detection and defence

The attacks from Wifite2 are noisy. A deauthentication is an 802.11 management frame of subtype 12, which rarely occurs in normal traffic and never in runs of dozens. A run of failed WPS attempts leaves traces in the log of the access point and puts many modern devices into a lockout, which is a signal in itself. Wireless intrusion detection in an enterprise environment sees this without any trouble, and controllers from Ubiquiti, Aruba and Cisco report it as “deauth flood” or “WPS brute force”.

For your own network the following counts most. Switch WPS off, because PixieDust cracks a vulnerable access point in seconds and no strong password helps against that. Use a long, random WPA2 key that is not in a wordlist, so that a captured handshake is worthless. Switch WPA3 with Protected Management Frames (802.11w) on if your equipment supports it, because PMF signs management frames and thereby makes loose deauthentication frames useless.

If you want to know how resilient your wireless network really is, a WiFi pentest maps that out. To see what these attacks look like in practice, read our blog on WiFi hacking with wifit3.

Only use Wifite2 on networks that are yours or for which you have explicit, written permission. Deauthentication breaks the connections of bystanders who have nothing to do with your test. Without permission, attacking a wireless network is a criminal offence.

Frequently asked questions about Wifite2

What is the difference between Wifite and Wifite2?

Wifite2 is a complete rewrite of the original Wifite from 2010. The code was set up again in Python 3, the order in which attacks are tried became smarter, and attacks were added that the original did not have, such as PMKID capture and PixieDust. In practice almost everyone means Wifite2 when they talk about Wifite, because the original is no longer maintained.

Which WiFi adapter do you need for Wifite2?

An adapter that supports monitor mode and preferably packet injection as well. The built-in WiFi card of a laptop usually cannot do that. Commonly used USB adapters are the ALFA AWUS036NHA (Atheros AR9271, 2.4 GHz only) and the ALFA AWUS036ACM (MediaTek MT7612U, 5 GHz as well). Watch out with the TP-Link TL-WN722N: only version 1 has the suitable Atheros chipset, v2 and v3 have a different chip. You can test whether your card really can inject with sudo aireplay-ng --test wlan0mon.

Why does Wifite2 not find any networks?

Usually that is because the adapter is not in monitor mode, or because NetworkManager has claimed the card. Start Wifite2 with --kill and it shuts down the conflicting processes. If you are working in a virtual machine, check that the USB adapter really has been passed through to the VM and not to the host system. If you only see 2.4 GHz networks, your adapter probably does not support 5 GHz.

Is Wifite2 still maintained?

The original repository from derv82 barely gets any updates any more. Kali Linux ships its own, more actively maintained fork, which is kept up by kimocoder. The author of Wifite2 is now working on wifit3, a successor that no longer needs aircrack-ng and also runs on Windows and macOS.

Is using Wifite2 legal?

You are free to own and use the tool itself, but attacking a wireless network that is not yours is a criminal offence. Wifite2 sends deauthentication frames that actively break other people’s connections, including those of devices you were not aiming at. Only test your own network, or a network for which you have written permission.

Related articles