derv82/wifit3
Security & PrivacyCross-platform USB Wi-Fi auditor for wireless security testing on Linux, Windows and macOS.
Overview
wifit3 is a standalone Wi-Fi auditing tool that runs the same way on Linux, macOS and Windows. Instead of relying on the operating system's Wi-Fi stack, it bundles lightweight Python ports of Linux kernel drivers and talks to supported USB adapters directly over USB bulk and control transfers, so monitor mode and frame injection happen in user space and do not depend on kernel driver versions or Windows NDIS restrictions. It needs no aircrack-ng, reaver or other runtime tools; the README lists only PyUSB and Textual as Python dependencies.
It is aimed at wireless security testers who audit networks they own or are explicitly authorized to assess. The main capabilities are:
- Real-time scanning across 2.4 GHz and 5 GHz with channel hopping, multi-adapter packet aggregation and a dedicated injection card.
- Identification of APs and clients, vendor fingerprints, WPS device make/model and hidden-network detection by correlating hidden BSSIDs with visible siblings.
- WPA/WPA2 handshake capture with passive sniffing and targeted deauthentication, validation of crackable pairs, and export to
.pcapand.hc22000. - PMKID harvesting and an EvilTwin WPA3 downgrade attack using CSA, BTM and deauthentication frames.
- WPS recovery through PixieDust (Null Secret and Static Secret weaknesses), PushButton capture and resumable PIN brute force with AP lock monitoring.
- A pure-Python WEP suite: ARP replay, ChopChop, fake authentication and PTW key recovery.
Quick Start
You need at least one supported USB adapter. The list includes Atheros AR9271, several MediaTek chipsets (MT7601U through MT7925U) and many Realtek RTL88xx models such as the ALFA AWUS036 series, Panda and TP-Link adapters; the supported hardware table maps chipsets to specific cards, and a separate hardware capabilities document covers each device's limits.
The recommended path is to download the standalone binary from the latest release:
- Windows: download and run
wifit3-windows-x64.exe. - Linux:
chmod +x wifit3-linux-x64 && ./wifit3-linux-x64 - macOS: remove the quarantine attribute before running:
xattr -d com.apple.quarantine wifit3-macos-universal2 chmod +x wifit3-macos-universal2 ./wifit3-macos-universal2
Alternatively, run from source with Astral's uv, which sets up dependencies in one step:
uv sync
uv run wifit3
For a custom build, produce a binary into dist/ with:
uv run pyinstaller wifit3.spec --noconfirm --clean
On first use, select your adapter on the splash screen and click START. wifit3 then handles the one-time driver setup automatically: it prompts via pkexec/sudo on Linux to write udev permissions and /etc/modprobe.d/ blocklists, via UAC on Windows to install WinUSB, and needs no installation on macOS beyond approving the authorization dialog. In VirtualBox, add the adapter to USB filters before plugging it in.
Constraints and Uninstall
Operating the tool requires the supported USB hardware; a built-in Wi-Fi card will not work. The first run requests elevated privileges to install driver bindings, and the macOS binary has to bypass Gatekeeper quarantine before it launches.
To return an adapter to the normal OS Wi-Fi stack, select it on the splash screen, click Uninstall, accept the elevation prompt, then unplug and re-plug the adapter. On Linux this removes wifit3's udev and modprobe rules; on Windows it uninstalls the WinUSB binding and triggers a device rescan.
wifit3 drives hardware registers without kernel guardrails, and the project explicitly limits it to networks and equipment you own or are authorized to audit. Code is GPL-2.0, matching the upstream Linux drivers; vendor firmware blobs are redistributed under their own manufacturers' licenses, detailed in FIRMWARE.md.
HotRepo's take
Recorded data shows wifit3 at 759 stars on the all-language daily list on 2026-09-25 with 168 stars gained that day, then 1089 stars on 2026-09-26 with 183 gained, and 2998 stars on the Python daily list on 2026-11-02 with 201 gained and a best position of 11 that day. These records cover separate dates and list scopes, so they establish growth on those days rather than a continuous trend. The appeal is concrete: a single Python tool with its own user-space driver stack removes the usual dependency on aircrack-ng and kernel drivers, which is unusual for cross-platform wireless auditing.
Written by AI from the project's README, updated . The project's own docs are the source of truth.