
如何读懂 wifit3 认证关联引擎WpsCampaign 复用 Association 类的完整指南【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3 是一款仅依赖 USB 无线网卡、跨平台运行的 Wi-Fi 安全评估工具是 Wifite 的纯 Python 原生重构版。它的 WPS PIN 暴力破解由WpsCampaign编排而真正敲门的动作——802.11 认证与关联——则被抽成了一个可复用的Association类。本文带你快速看懂这套认证关联引擎的设计思路与复用方式几乎不碰代码也能读懂。 Association 是什么一个与协议无关的敲门引擎Association定义在 src/wifit3/campaigns/auth_assoc.py它只做一件 802.11 层的事向一个 AP 发 Open-System 认证请求 关联请求并等到 AP 以 status 0 接受我们。它的两个关键设计让它能被不同攻击直接借走协议无关的尾部 IE插槽。构造时可以传入assoc_trailer_ies参数往关联请求里塞任意尾部信息元素Information ElementWPS 攻击塞 WPS 厂商 IE表明我是外部 RegistrarPMKID 采集塞伪造的 RSN IE什么都不需要时就留空。模块本身对 802.11 之上的协议一无所知这是它能被四处复用的核心原因。可注入的中止钩子。should_stop参数接受一个回调让调用方战役层随时喊停协作式退出。同文件里的WlanTransport则负责传输层把网卡适配成send/recv/drain三个动作接收端只保留AP → 我们的帧目的 MAC 是我们的、来源 MAC 是 BSSID上层调用者永远不会被自己发出的回显帧或无关流量干扰。 WpsCampaign 如何复用这个引擎WpsCampaign定义在 src/wifit3/campaigns/pin.py是面向 Focus 界面的 WPS PIN 扫描编排器它只管 PIN 空间推进常用 PIN → 前四位 → 后三位校验位、锁检测、断点续扫和进度展示认证关联完全委托给Association。一次会话的建立_ensure_session每次尝试一个 PIN 前WpsCampaign会调用_ensure_session()若self.assoc还不存在就用当前网卡、目标 BSSID、SSID、信道新建一个Association并传入assoc_trailer_ieswps_assoc_ie(WPS_REQ_REGISTRAR)——这就是我要以 WPS 外部登记者身份关联的声明再建一个WlanTransport作为 EAPOL/WSC 消息的收发通道若尚未关联成功就调用assoc.associate()完成认证关联。之后 PIN 级的一切状态机M1~M7 的 EAP/EAPOL 交换交给WpsRegistrar它只面向WlanTransport工作对 USB 一无所知。每个 PIN 都重新关联真实的 WSC 行为项目文档 src/wifit3/campaigns/wps/README.md 明确写道One-shot-per-association is real WSC——AP 在一个存活关联上只接受一次 PIN 交换第二次会直接以 Device Password Auth Failure 拒绝。因此WpsCampaign._try()每试完一个 PIN 就调用_reset_session()把Association和WlanTransport都停掉下一个 PIN 重新走一遍_ensure_session()建立全新关联。这也解释了为什么关联质量对成功率至关重要。_send_until静默重发把最大失败点压下去硬件实测发现关联失败约占 WPS 失败的 29%是头号失败源。Association._send_until()的对策是发出认证/关联帧后只要没收到对应响应就按固定间隔重发覆盖TX 丢帧或 AP 回复丢失两种情况associate()本身还带 5 次完整尝试。这正是引擎层的健壮性设计让上层战役无需关心丢帧细节。 同一个引擎四份使用者AssociationWlanTransport是campaigns/目录的共享基建见 src/wifit3/campaigns/README.md除了 WPS PIN 扫描还有复用方场景尾部 IEpin.pyWpsCampaignWPS PIN 暴力扫描WPS IERegistrar 意图pbc.pyWpsPbcCaptureWPS 一键配置PBC窗口抢抓 PSKWPS IEEnrollee 意图pmkid.py主动 PMKID 采集伪造 RSN IEprobe/wps_m1.py快速探测 AP 是否应答 WPS M1WPS IERegistrar 意图同一套引擎靠尾部 IE 插槽 中止钩子两个参数即可服务于四种目的不同的攻击这就是复用设计的价值认证关联的健壮性重发、超时、状态码解析、失败原因记录只写一次所有战役共享收益。补充WEP 战役src/wifit3/campaigns/wep/走的是更底层的帧构造路径直接调用dot11的auth_req/assoc_req属于另一类复用方式。 源码与文档指引引擎本体src/wifit3/campaigns/auth_assoc.pyAssociation约在 L94 起WlanTransport约在 L34 起WPS 扫描编排src/wifit3/campaigns/pin.py_ensure_sessionL305与_reset_sessionL662是复用的两个关键方法WPS 架构说明src/wifit3/campaigns/wps/README.mdWSC 消息/加密原语src/wifit3/dot11/wsc/战役总览src/wifit3/campaigns/README.md✨ 小结wifit3 把敲门802.11 认证关联和对话WPS EAP/WSC 状态机严格分层Association专注把客户端身份送进 AP且对上层协议零感知WpsCampaign则按真实 WSC 语义每个 PIN 一次全新关联地驱动它。理解了assoc_trailer_ies插槽、should_stop钩子和每 PIN 重关联这三点你就掌握了这套认证关联引擎的全部复用密码。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考