wifit3 四向握手配对拆解:5 秒窗口与 ±8 容差从哪来,配不上时去哪排查

wifit3 四向握手配对拆解:5 秒窗口与 ±8 容差从哪来,配不上时去哪排查

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

抓满 EAPOL 帧,导哈希时却一条 hc22000 都没有?wifit3 的判定里,握手"抓到"与"配得上"是两回事。这篇回答三件事:配对规则为什么长成这样,5 秒、±8、N/N+1 三个数字的出处,以及配不上时该往哪看。

四向握手帧的角色表:hashcat 22000 到底要三样什么

hashcat 跑 -m 22000 的破解循环是:猜密码 → 派生 PMK/PTK → 拿某帧被 MIC 保护的 EAPOL 原文重算 MIC 做比对。要喂哈希,一次握手必须凑齐 ANonce、SNonce 和那帧自带 SNonce 的 MIC 原文——少任何一样都导不出哈希行。四帧各自贡献了什么,见 handshake.py 顶部注释(L14-L33):

消息方向携带 Nonce有 MIC在配对中的角色
M1AP→STAANonce无供体(只捐 ANonce)
M2STA→APSNonce有keystone(锁住 SNonce+MIC 原文)
M3AP→STAANonce(重复)有供体
M4STA→AP常为全零有条件 keystone(Nonce 非零才算)

由此推出全部合法组合只有四种:M1+M2、M1+M4、M2+M3、M3+M4,对应 hashcat message_pair 字节 0x00、0x01、0x02、0x05(L25-L29);M3 的 nonce 是 ANonce、M1 没有 MIC,所以以它们为 MIC 源的组合在 hashcat 侧标为 unused,wifit3 永不输出。M4 想顶 keystone 还有个前提:客户端没把 SNonce 清零——_mic_frame_usable与describe的 M4 分支(L179-L180)都要求它真的带着非零 nonce。

EAPOL 配对参数溯源:5 秒配对窗口、±8 Nonce 纠错容差与 N/N+1 计数器规则

5 秒从哪来?常量_EAPOL_PAIR_WINDOW_S = 5.0(L65-L69)。问句先放这:为什么是 5,不是 3 或 10?注释写得很直白:对齐 hcxpcapngtool 的 EAPOLTIMEOUT(同为 5 秒),这是 ZSteg 团队拿大量真实抓包验证的经验值——同一次握手的四帧之间不可能隔 5 秒。作用位置是_within_window(L214-L220):两帧到达时差超过 5.0 秒直接拒配。改大会怎样?两次不同关联的帧,重放计数器恰好相同就会被误配成一次握手——窗口就是给计数器精确层兜底的粗筛。

±8 从哪来?常量_NC_MAX = 8(L71-L76)。问题:AP 重传、弱信号会让供体帧的重放计数器(replay counter,每帧 EAPOL 里那个 8 字节编号,类似帧的时间戳)偏离预期几格,直接按"逐字节相等"配对会丢掉大片真实握手。hcxpcapngtool 的答案是--nonce-error-corrections 8,wifit3 原样照抄:配对时供体计数器与预期偏差 ≤8 就保留(L300-L302),随后输出哈希行时把 message_pair 字节高位固定置_NC_BIT = 0x80(L78),见hc22000_line的pair.pair_byte | _NC_BIT(L331-L349)。这个 0x80 位等于告诉 hashcat:请在小窗口内暴力补偿 ANonce 与计数器的漂移——代价是 hashcat 要多试几轮,换来弱信号抓包也能喂哈希。

N/N+1 从哪来?四向握手自身的计数器规律:M1 与 M2 同为 N,M3 与 M4 同为 N+1。配对时按 keystone 的消息号推出供体的预期计数:M2 配 M1 期望 rc,M2 配 M3 期望 rc+1,M4 配 M1 期望 rc-1,M4 配 M3 期望 rc(L285-L290)。这是三层约束里最精确的一层,5 秒窗口只兜底、不替代。候选排序也是"精确优先":计数器间隙 → 置信度(AP 确认对 M2+M3、M3+M4 优于挑战对)→ 到达距离(L278-L306),间隙 0 的命中永远排在 ±8 命中前面。

配对失效图鉴:时间够近,为什么还是配不上

现象:M2 先到、M1 后到。判废处:_pairs_ignoring_akm的顺序检查(L295-L297)——四向握手必然 M1→M2→M3→M4 到达,编号小的帧必须先出现,倒序候选直接剔除,连候选列表都进不去。界面:既没有 "Handshake captured" 横幅,也不给不可破解标签,等于这次握手的 ANonce 根本没被收进任何配对;排查方向是先确认抓包起点早于客户端的连接时刻。

现象:供体帧计数器与预期值差了 9 格或更多。判废处:rcgap > _NC_MAX的 continue(L300-L302)。这类帧多来自重传风暴或跨关联撞号,容差只救 ≤8 的小漂移。界面:横幅沉默;排查方向是信号强度——把网卡挪近、换信道、重新触发一次关联。

现象:四帧齐全、组合也合法,帧却标注"不可破解"。判废处:eapol_verdict(L110-L121)对照 AKM 黑名单_EAPOL_BAD_AKMS(L100-L104)——SAE 的 PMK 来自临时密钥交换、EAP 的 PMK 来自 802.1X 会话的 MSK,都没有可供暴破的密码短语。界面:不是静默丢弃,横幅照样报捕获,四向握手树上挂 ✗ 徽章写明 SAE/FT/EAP/OWE 哪一种,describe的 useful 判定同步生效(L171-L181)。

还有一条豁免:时间戳为 0.0 的旧捕获在_within_window里直接返回 True(L218-L219),跳过时间检查,仅靠计数器规则配对,保证老 pcap 的回放测试不受影响。

在 Focus 页跑通一次四向握手捕获

最小操作路径:插一张支持监听模式的 USB 网卡 → 扫描页锁定目标 AP → 进入 Focus 页,等客户端重新关联或触发重连。成功长什么样:横幅打出 "Handshake captured",四向握手树出现 "✓ Valid 4-Way Handshake (M1+M2)" 这类组合标注,客户端行亮起握手标记(eapol_aggregate.py)。还有个容易忽略的细节:树往往在 M2 到达时就宣告完成——可破解性在 M2 处已经成立,wifit3 甚至不需要 M4(L16)。而横幅与自动保存走的是同一条crackable_pairs代码路径(single source of truth,L231-L236):界面说"已捕获",保存就一定导得出一行 WPA*02 哈希,二者永不矛盾。

一行公式与文件地图

计数器精确匹配(N/N+1)+ 5 秒时间兜底 + 到达顺序约束 + ±8 的 NC 容错 = 一条 hashcat 可直接开跑的哈希行。

文件一句话职责
src/wifit3/dot11/parser.pyEAPOL LLC/SNAP 签名定位与 M1–M4 分类
src/wifit3/dot11/eapol.py802.1X 载荷组装,MIC 在偏移 81 处回写
src/wifit3/crack/handshake.py配对算法、5 秒窗口、±8 容差、hc22000 行生成
src/wifit3/models/handshake.py每客户端握手状态与"可破解"判定
src/wifit3/dot11/wpa.pyPMK/PTK 派生与 M2 帧构造

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

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

相关新闻

wifit3 WPA 握手被动嗅探实战:3 步完成 4-way 握手捕获,把等待窗口从小时压到分钟

wifit3 WPA 握手被动嗅探实战:3 步完成 4-way 握手捕获,把等待窗口从小时压到分钟

wifit3 WPA 握手被动嗅探实战:3 步完成 4-way 握手捕获,把等待窗口从小时压到分钟 【免费下载链接】wifit3 Wifite but USB-only & cross-platform. 项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3 被动监听等几小时才换一次 WPA 握手,是最常见的抱怨。本…

2026/10/21 2:09:45 阅读更多 →
gauge-python 实战:用 Markdown 写可读性测试用例的 BDD 框架

gauge-python 实战:用 Markdown 写可读性测试用例的 BDD 框架

简介:gauge-python 是 Gauge 自动化测试框架的 Python 语言运行器插件,面向使用 Python 编写验收测试、行为驱动测试的测试开发与自动化工程师。它让 Gauge 能够识别并执行 Python 编写的 step 实现,解决跨语言测试框架中 Python 支持缺失的问…

2026/10/21 2:09:45 阅读更多 →
【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 101 负载均衡/资源分配/并行算法/流算法/在线算法 /Qos算法/计算机图形图像算法

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 101 负载均衡/资源分配/并行算法/流算法/在线算法 /Qos算法/计算机图形图像算法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:09:45 阅读更多 →

最新新闻

Quartz动态设置并发数量

Quartz动态设置并发数量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:48:00 阅读更多 →
AI Agent ROI评估指南:从成本结构到收益测算全解析

AI Agent ROI评估指南:从成本结构到收益测算全解析

1. 先别急着算账,想清楚AI Agent的ROI和传统IT项目有什么不同这两年不少公司都开始折腾AI Agent,有的把它接到客服系统,有的让它帮着写代码,还有的用它处理合同和报表。但当你真坐下来算这笔账时,会发现一个尴尬的问题…

2026/10/21 2:48:00 阅读更多 →
基于卷积神经网络的食物图像识别实战:从ResNet迁移学习到部署

基于卷积神经网络的食物图像识别实战:从ResNet迁移学习到部署

简介:基于卷积神经网络的食物图像识别项目完整代码与数据包,面向具备Python基础并希望实践CNN图像分类的开发者与学习者。资源围绕TensorFlow与tf.keras构建食物识别模型,涵盖数据预处理、网络定义、训练评估与预测全流程,并引入迁…

2026/10/21 2:48:00 阅读更多 →
SECS-II/HSMS调试工具实战:从协议原理到模拟器应用

SECS-II/HSMS调试工具实战:从协议原理到模拟器应用

简介:面向半导体制造与MES系统集成场景,这份SECS-II HSMS调试工具模拟器适合设备工程师、上位机开发人员使用。它可模拟客户端与服务端,用于验证自定义程序是否符合SECS-II通信标准,减少现场联调时的错误与返工。压缩包为rar格式&…

2026/10/21 2:48:00 阅读更多 →
eNSP校园网拓扑设计实战:VLAN划分、DHCP配置与静态路由全解析

eNSP校园网拓扑设计实战:VLAN划分、DHCP配置与静态路由全解析

简介:面向计算机网络期末设计、课程设计及eNSP仿真练习的完整项目资料包,围绕某中学校园网络拓扑设计展开。方案包含网络拓扑选型、综合布线系统规划、教学楼/行政楼/宿舍接入设计,以及VLAN划分、IP地址分配、路由协议配置等模拟配置要点&…

2026/10/21 2:48:00 阅读更多 →
思科模拟器6.2:从安装到避坑的完整实战指南

思科模拟器6.2:从安装到避坑的完整实战指南

简介:这是一份思科模拟器6.2安装包,官方名称为Packet Tracer,面向网络技术学习者、思科认证考生以及开展网络实验教学的教师。软件以图形化方式搭建虚拟网络环境,可模拟路由器、交换机、无线接入点、防火墙等设备,支持…

2026/10/21 2:47:00 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →