wifit3 README

The project's README from github.com/derv82/wifit3. As one markdown file: README.md.

wifit3

A standalone USB Wi-Fi auditor for Linux, Windows, and macOS.

wifit3 splash / adapter picker

At least one of the supported USB adapters is required.

Why?

wifit3 in action: WPS PushButton PSK capture


Features

Reconnaissance & Analysis

Attacks & Captures

Screenshots

Scanner Focus (single target)
Scanner Focus

Supported Hardware

Important: At least one supported USB wireless adapter is required.

Chipset Bands Cards (Make + Model)
Atheros AR9271 2.4 GHz ALFA AWUS036NHA, TP-Link TL-WN722N V1
MediaTek MT7610U 2.4 / 5 GHz ALFA AWUS036ACHM, Panda PAU0B
MediaTek MT7612U 2.4 / 5 GHz ALFA AWUS036ACM
MediaTek MT7921AU 2.4 / 5 GHz ALFA AWUS036AXML, Panda PAU0F
MediaTek MT7925U 2.4 / 5 GHz Netgear A9000
Realtek RTL8812AU 2.4 / 5 GHz ALFA AWUS036ACH
Realtek RTL8814AU 2.4 / 5 GHz ALFA AWUS1900
Realtek RTL8821AU 2.4 / 5 GHz ALFA AWUS036ACS, TP-Link Archer T2U Plus/Nano
Realtek RTL8821CU 2.4 / 5 GHz Auscoumer 600 Mbps
Realtek RTL8922AU 2.4 / 5 GHz ASUS USB-BE93
Realtek RTL8822BU 2.4 / 5 GHz TP-Link T3U Plus, Archer T4U v3 / T4U+
Realtek RTL8822CU 2.4 / 5 GHz D-Link AC13U
Realtek RTL8187L 2.4 GHz ALFA AWUS036H
Realtek RTL8188EUS 2.4 GHz TP-Link TL-WN722N v2/v3
Ralink RT2570 2.4 GHz Buffalo Nintendo Wi-Fi USB Controller
Ralink RT3070 2.4 GHz ALFA AWUS036NH
Ralink RT5370 2.4 GHz LOTEKOO 150 Mbps
Ralink RT5372 2.4 GHz Panda PAU05/PAU06
Ralink RT5572 2.4 / 5 GHz Panda PAU09 N600

Breakdown of each device's capabilities and limitations: Supported Hardware Doc.

Installation & Running

Download the latest standalone executable from Releases:

Option 2: Run from Source

wifit3 uses Astral's uv. sync sets up dependencies:

uv sync
uv run wifit3

Option 3: Build your own binary

uv run pyinstaller wifit3.spec --noconfirm --clean

Binary executable is written to dist/ subdirectory.

One-Time Driver Setup

wifit3 automatically handles hardware configuration within the app, after clicking the START button:

Uninstalling

Return the previously-installed device to your operating system's Wi-Fi stack:

  1. Select the card on the wifit3 splash screen.
  2. Click the Uninstall button and confirm.
  3. Accept the elevation prompt (UAC on Windows or pkexec on Linux).
  4. Unplug and re-plug the adapter.

On Linux, this deletes wifit3's udev and modprobe rules. On Windows, this uninstalls the WinUSB binding, and triggers a PnP device rescan (old driver reattaches).

Thank you, Linux!

wifit3 only exists because of the great people who reverse-engineered and maintained these Linux wireless drivers. It's usually a thankless job.

Special thanks to:

The full list is in CREDITS.md.

How it Works: Mini-Drivers

wifit3 bypasses the operating system's native Wi-Fi stack entirely. It ships with lightweight Python ports of Linux kernel drivers (src/wifit3/chips/*) that directly control wireless devices over USB bulk and control transfers.

Because register-level frame injection and monitor mode are performed entirely in user space, Windows NDIS restrictions and Linux kernel driver locking do not apply.

For architecture details, driver porting methodology, and USB trace replay tooling, see the Porting Documentation.

License & Disclaimer

Code: Licensed under GNU General Public License v2.0 (matching upstream Linux drivers).

Firmware: Vendor firmware blobs loaded onto adapters are redistributed verbatim under their respective manufacturers' licenses (details in FIRMWARE.md).

⚠️ Notice & Disclaimer: For use only on networks and equipment you own or are explicitly authorized to audit. wifit3 operates directly on USB hardware registers without kernel guardrails; use at your own risk.

wifit3 (derv82/wifit3)

Searching Database…

2.4K ·GitHub
What is this?wifit3 is a standalone Wi-Fi security auditing tool that scans networks, captures WPA/WPA2 handshakes, and exploits WPS/WEP weaknesses using a supported USB Wi-Fi adapter, without relying on aircrack-ng or OS kernel drivers.
Is this a GUI app or a terminal tool?It is a terminal-based tool with a text user interface (TUI), built in pure Python using the PyUSB and Textual libraries, not a traditional GUI app or a library you import.
How do I get it running?Download the prebuilt standalone executable for your OS from the Releases page (e.g. wifit3-windows-x64.exe, or chmod +x wifit3-linux-x64 on Linux), or run it from source using Astral's uv to install dependencies, or build your own binary.
Do I need a special Wi-Fi adapter to use it?Yes, you need at least one of a specific list of supported USB Wi-Fi adapters (Atheros AR9271, MediaTek MT7610U/MT7612U/MT7921AU/MT7925U, Realtek RTL88xx series, Ralink RT chips, etc.); a built-in laptop Wi-Fi card will not work.
What happens the first time I run a scan?wifit3 automatically handles one-time driver setup when you click START: on Linux it prompts once via pkexec/sudo to write udev rules, on macOS you just allow the device in a dialog, and on Windows it prompts via UAC to install a WinUSB driver for the adapter.
How does wifit3 avoid needing kernel drivers?It ships lightweight Python ports of the Linux kernel wireless drivers that talk directly to the USB device over bulk and control transfers, so monitor mode and frame injection happen entirely in user space, bypassing both Windows NDIS restrictions and Linux kernel driver locking.
What attacks can wifit3 actually perform?It can passively sniff or actively force WPA/WPA2 handshakes and PMKID material, run an EvilTwin WPA3 downgrade attack that clones an AP and evicts clients, recover WPS PINs via PixieDust or brute force, grab PSKs via WPS push-button detection, and run classic WEP attacks like ARP replay, ChopChop, and PTW key recovery.
Is it legal to run wifite3 against any network I find?No, the README explicitly states it is for use only on networks and equipment you own or are explicitly authorized to audit, since it manipulates USB hardware registers directly without kernel guardrails.
How do I undo the driver changes it made?Select the adapter on the wifit3 splash screen, click Uninstall, and confirm the elevation prompt; this removes the udev/modprobe rules on Linux or the WinUSB binding on Windows so your OS's normal Wi-Fi driver reattaches after replugging.
Creator
derv82
Size
24 MB
Stars
2.4K
Age
3mo
Commits · 90 Days