Loading...
正在加载...
请稍候

wifit3:用 USB 绕过驱动地狱的跨平台 WiFi 审计工具

✨步子哥 (steper) • 2026年09月25日 21:56

来源:GitHub 仓库 derv82/wifit3
日期:2026-09-26
仓库:https://github.com/derv82/wifit3
Trending:日增 168 stars


一句话总结

wifit3 是 wifite 的第三代重写——一个纯 Python 的 USB 无线审计工具,跨 Linux/macOS/Windows 三平台运行,零运行时依赖。它用 USB 硬件接口绕过了困扰 WiFi 安全工具几十年的驱动地狱。


场景开篇

你想在 MacBook 上跑一次 WiFi 安全审计。你装了 aircrack-ng,发现 macOS 上 monitor mode 驱动支持一塌糊涂。你切到 Windows,装了 NDIS 驱动,发现 injection 模式根本不工作。你切到 Linux,发现内核版本 6.7 的 ath9k 驱动有个 regression,monitor mode 间歇性失效。

这是每一个 WiFi 安全从业者都经历过的痛苦。驱动地狱——同一个 USB 网卡,在不同操作系统、不同内核版本上行为完全不同。工具本身没问题,问题出在工具和硬件之间的驱动层。

wifit3 的作者 derv82(也是 wifite 原作者)做了一个激进的选择:彻底绕过操作系统驱动栈,直接用 USB 接口和硬件通信。

核心设计:USB as Driver Bypass

wifit3 的技术选择非常反直觉。传统的 WiFi 工具依赖操作系统的网络栈:

应用层 → 系统网络栈 → 内核驱动 → USB 网卡

wifit3 跳过了中间两层:

应用层(Python + PyUSB) → USB 网卡

通过 PyUSB 直接和 USB 设备通信,wifit3 完全绕过了:

  • Linux 的 cfg80211/nl80211 子系统
  • macOS 的 CoreWLAN 框架
  • Windows 的 NDIS 驱动模型

这意味着:同一个工具,同一套代码,在三个操作系统上行为完全一致。因为驱动逻辑在 wifit3 自己的 Python 代码里,不在操作系统的内核里。

为什么这个选择很激进?

通常的跨平台策略是:写三套驱动适配层,每套适配一个操作系统。但这意味着:

  • 要维护三套驱动代码
  • 每个操作系统的内核更新都可能 break 你的驱动
  • 用户要装驱动才能用你的工具

wifit3 的策略是:不写驱动,直接用 USB。代价是只支持特定的 USB 网卡芯片(因为要为每个芯片写 USB 通信协议),但好处是跨平台一致性、零运行时依赖、不受内核更新影响。

功能全景

wifit3 不是简化版 wifite。它的功能比大多数专业 WiFi 审计工具还全:

侦察与分析

  • 多卡聚合:多个 USB 网卡同时抓包,一个专门负责注入
  • 实时扫描:2.4GHz + 5GHz 跳频,跟踪信号强度、加密套件、WPA3/SAE 过渡模式
  • AP + 客户端识别:指纹设备厂商和类别,从 WPS beacon 提取路由器型号
  • VAP 解隐身:通过关联隐藏网络的 BSSID 和已知可见网络,识别隐藏 SSID
  • 数据包仪表盘:实时可视化 beacon、data、injection、deauth 包速率

攻击与捕获

  • WPA/WPA2 握手包:被动嗅探 + 定向 deauth,验证可破解的握手对,导出 .pcap 和 .hc22000
  • PMKID 收割:主动关联收割 + 被动嗅探,导出 .hc22000 格式
  • EvilTwin WPA3 降级:克隆 AP,通过 CSA/BTM/deauth 驱逐客户端,捕获 WPA3 → WPA2 降级后的握手
  • WPS 恢复套件:PixieDust(两种模式)、PushButton(检测物理按钮按下立即提取明文 PSK)、PIN 暴力破解(可恢复 + 已知 PIN 数据库 + AP 锁定监控)
  • WEP 套件:纯 Python ARP replay、ChopChop、Fake Authentication、PTW key recovery

零运行时依赖

这是最让运维人员感动的特性。wifit3 不依赖:

  • aircrack-ng
  • reaver
  • 任何系统 WiFi 驱动
  • 任何 C 库

只需要 Python + PyUSB + Textual(TUI 框架)。pip install 一行搞定,没有编译、没有驱动安装、没有内核模块加载。

和 wifite 的传承

wifite 是 2010 年代最流行的 WiFi 审计自动化工具之一。它封装了 aircrack-ng 套件,让 WiFi 审计变成"一键操作"。但 wifite 有一个根本性的限制:它依赖 aircrack-ng,而 aircrack-ng 依赖操作系统驱动。

wifite 2 是重写,但仍然依赖 aircrack-ng。wifit3 是第三代重写,彻底切断了和 aircrack-ng 的依赖关系。这不是渐进改进,是范式转移——从"封装系统工具"到"直接和硬件通信"。

维度 wifite wifite 2 wifit3
依赖 aircrack-ng aircrack-ng 无(纯 Python)
驱动 系统驱动 系统驱动 USB 直连
跨平台 Linux only Linux only Linux + macOS + Windows
代码语言 Python Python Python + PyUSB
WPA3 支持 无 无 有(SAE + 降级攻击)

深层洞察:硬件作为兼容层

wifit3 的设计哲学可以提炼为一个更广泛的原则:当软件兼容层太脆弱时,用硬件接口作为兼容层。

传统智慧是:写软件适配层来兼容不同平台。但 WiFi 驱动的现实是——软件适配层本身是最脆弱的部分。内核更新 break 驱动、操作系统改 API、厂商不遵守标准……软件兼容层的维护成本越来越高。

wifit3 的选择是:放弃软件兼容层,直接用 USB 这个硬件标准。USB 是一个比任何操作系统都稳定的标准——USB 2.0 规范 2000 年发布,至今仍然广泛使用。只要你的 USB 网卡支持 USB 标准,wifit3 就能工作,不管你跑的是什么操作系统、什么内核版本。

这个原则的更广泛应用:

  • Docker 用 Linux namespace 作为隔离层,但 namespace 在不同发行版行为不同。如果有一个工具直接用容器硬件虚拟化(如 Kata Containers),就能绕过 namespace 的不一致
  • Flutter 自己渲染 UI,不用系统 UI 组件——这也是"绕过系统层"的思路
  • Tailscale 用 WireGuard 直接在内核层做隧道,绕过用户态 VPN 的各种兼容问题

当兼容层本身成为问题,绕过兼容层直接用更底层的标准接口。 这是 wifit3 给我们的工程启示。

限制和风险

  1. 硬件门槛:必须用支持的 USB 网卡。内置 WiFi 卡不能用。支持的芯片列表很长(Atheros AR9271、MediaTek MT7610U/MT7612U/MT7921AU/MT7925U、Realtek RTL8812AU/8814AU/8821AU/8821CU/8922AU/8822BU/8822CU、RTL8187L/8188EUS、Ralink RT2570/3070/5370/5372/5572),但用户需要额外购买。

  2. 芯片适配成本:每个芯片的 USB 通信协议不同,wifit3 需要为每个芯片写适配代码。新芯片出来需要等支持。

  3. 性能上限:纯 Python + USB 用户态通信,比内核态驱动的吞吐量低。对于抓包分析这种高吞吐场景可能有瓶颈。

  4. 安全工具的双刃剑:wifit3 功能强大、易于使用——这对安全从业者是好事,但也降低了 WiFi 攻击的门槛。作者明确标注"At least one of the supported USB adapters is required",这既是技术限制也是一道门槛。

适用场景

  • 跨平台 WiFi 审计:特别是需要在 macOS/Windows 上运行的安全团队
  • 安全教学:零依赖安装,学生 pip install 即可用
  • 应急响应:快速部署到任意机器做 WiFi 安全检查
  • 物联网设备安全评估:IoT 设备的 WiFi 连接安全审计

结语

wifit3 最值得关注的不是功能(虽然功能很全),是工程哲学。它做了一个激进的选择——绕过整个操作系统驱动栈,直接和 USB 硬件通信——换来的是跨平台一致性、零依赖、不受内核更新影响。

在一个"软件兼容层越做越厚、维护成本越来越高"的时代,wifit3 提醒我们:有时候最好的兼容方案不是加一层适配,而是减掉一层适配。

当所有人都往"更多抽象、更多封装"的方向走时,wifit3 往"更少抽象、更接近硬件"的方向走。这不是怀旧,是对"软件复杂度已经超过可控范围"的理性回应。

驱动地狱不是 WiFi 工具独有的问题。任何依赖操作系统底层 API 的工具,都可能面临同样的困境。wifit3 的解法——绕过操作系统、直接用硬件标准——可能不适用于所有场景,但它提供了一个值得认真考虑的替代思路。

有时候,最好的兼容层是没有兼容层。


wifit3 仓库:https://github.com/derv82/wifit3
Trending 数据:日增 168 stars,Python

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录