☰
wifit3 WPS PIN失败日志完全解读:FIRST_HALF 与 SECOND_HALF 错误到底代表什么
2026/10/4 13:33:51 网站建设 项目流程

wifit3 WPS PIN失败日志完全解读:FIRST_HALF 与 SECOND_HALF 错误到底代表什么

【免费下载链接】wifit3Wifite but USB-only & cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3

使用wifit3对开启 WPS 的路由器发起PIN 破解时,终端日志会不断滚动出一串串 PIN 和判定结果。新手最常困惑的两个词就是FIRST_HALF(first half wrong,前半错误)和SECOND_HALF(second half wrong,后半错误)。本文用通俗的方式讲清楚:这两个错误分别代表什么、为什么破解总次数约 11,000 次、看到这些日志时你该读出了什么信号,并附 wifit3 界面示意,帮助你在实测时快速读懂每一次尝试的进度。

一、为什么 WPS PIN 被拆成"前半"和"后半"

wifit3 是一款跨平台(Linux / Windows / macOS)的 USB 无线审计工具,采用纯 Python 实现,内置驱动栈,无需 aircrack-ng 或 reaver 等外部依赖。它的 WPS PIN 模块位于 src/wifit3/campaigns/wps/ 与 src/wifit3/campaigns/pin.py。

一个 8 位 WPS PIN 在协议层面被拆成两部分:

部分位自由位数说明
前半 P1第 1~4 位4 位独立校验
后半 P2第 5~8 位3 位自由 + 1 位校验和第 8 位由前 7 位算出

正因为路由器的 WPS 固件对这两半分别判定,wifit3 才能把暴力破解从 10⁸ 次降到约11,000 次(前半 10⁴ + 后半 10³)。拆分与拼装逻辑见 pins.py。

二、两种失败错误的准确含义

判定依据来自每次尝试时路由器回应的消息阶段(M1~M7 的 WSC 握手)。wifit3 把每次尝试的结果定义为一个枚举,见 registrar.py:

PinResult.SUCCESS PinResult.FIRST_HALF_WRONG # first_half_wrong PinResult.SECOND_HALF_WRONG # second_half_wrong PinResult.TIMEOUT / PROTO_ERROR / ABORTED

FIRST_HALF(前半错误)

含义:你猜错的前 4 位(P1)不对,路由器直接拒绝,根本没进入后半判定。

  • 触发时机:wifit3 发出 M4 之后,路由器没有回 M5,而是回了 NACK / EAP-FAIL 或超时。
  • 日志典型长这样:1234 → first half wrong [M4]
  • 结论:这个前 4 位是死路,丢弃它,换一个前 4 位继续。

SECOND_HALF(后半错误)

含义:前 4 位猜对了(路由器已放行到 M5),但你猜错的后 4 位(P2)不对。

  • 触发时机:路由器成功到达 M5,说明前半正确;wifit3 再发 M6 之后,路由器回 NACK / 超时或没回 M7。
  • 日志典型长这样:1234 0365 → second half wrong [M6]
  • 结论:前 4 位已锁定成功,只需继续尝试后 3 位(1000 种)即可撞出完整 PIN。

⚠️ 一个容易忽略的要点:second half wrong并不是"坏消息",反而是重大进展——它等于告诉你前半已经对了。源码中first_half_ok属性正是由SECOND_HALF_WRONG或SUCCESS推导出来的(见 registrar.py)。

日志行的生成逻辑集中在_log_attempt方法中,每个 PIN 只打一行简洁结论,方便你一眼分辨进度。

三、日志状态对照表(实测速查)

你看到的日志对应内部结果真实含义下一步动作
… first half OK [M5]SECOND_HALF_WRONG前 4 位正确锁定前半,转入后半扫描
… first half wrong [M4]FIRST_HALF_WRONG前 4 位错误换前 4 位继续
… second half wrong [M6]SECOND_HALF_WRONG前半对、后半错保留前半,换后 3 位
WPS PIN recovered/ 绿色成功SUCCESS完整 PIN 命中,取回 PSK结束,导出密钥
no reply after M4/M6超时推断路由器静默丢弃,按"错"处理自动重试若干次后放行

四、读懂日志后的实用建议

  1. 优先找"first half OK":一旦日志出现前半正确的行,说明已进入最后的 1000 次冲刺,距离成功只剩很短时间,请耐心等它跑完后半。
  2. 别盯着单次失败焦虑:first half wrong是 10,000 次前半扫描的正常产出,属于高频"噪音",只有first half OK才是真正的里程碑。
  3. 目标选择看 WPS 列:在扫描器(见上图)的 WPS 列中标记了锁形图标的设备才支持 WPS 攻击;先确认WPS: 1.0且有 PIN 能力再开始。
  4. 警惕锁机:部分路由器连续多次猜错后会临时"锁 WPS",日志会出现Setup Locked或refused: ...。wifit3 内置了 lock 检测与自适应退避,会自动学习该路由器的锁定时长并等待,无需手动干预。

五、小结

一句话记住核心:FIRST_HALF= 前 4 位错(卡在 M4),SECOND_HALF= 前 4 位对、后 4 位错(卡在 M6)。看到second half wrong就离成功最近。wifit3 把这套复杂的 WSC 握手细节全部封装在 src/wifit3/campaigns/wps/README.md 描述的模块里,你只需在 Focus 页签点击WPS PIN按钮,然后读懂上面这张状态表即可。

免责声明:wifit3 直接操作 USB 硬件寄存器,请仅用于你拥有或已获明确授权的自有网络与设备,遵守当地法律法规。

【免费下载链接】wifit3Wifite but USB-only & cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询