wifit3 四向握手配对全拆解:5 秒窗口与 NC 容差如何定

发布时间:2026/10/21 10:51:59
wifit3 四向握手配对全拆解:5 秒窗口与 NC 容差如何定
wifit3 四向握手配对全拆解5 秒窗口与 NC 容差如何定【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3wifit3 四向握手配对的最终产物是一条能直接丢进 hashcat-m 22000的 hc22000 哈希行。从这条行倒推EAPOL 解析管线需要从混杂模式抓包里凑齐三样东西32 字节的 ANonce、32 字节的 SNonce以及一帧自身携带 SNonce、且 MIC 恰好覆盖其内容的MIC 帧。WPA*02*MIC hex*BSSID*STA MAC*SSID hex*ANonce hex*802.1X载荷hex*message_pair字节从输出倒推输入EAPOL 各帧贡献哈希行的哪些字段 hashcat 破解-m 22000的校验路径是猜密码 → 派生 PMK → 用 ANonce SNonce 加双端 MAC 算出 PTK → 对被捕获的 802.1X 原文重算 MIC 比对。因此哈希行必须内嵌完整 802.1X 载荷、16 字节 MIC 与两段 Nonce而四帧握手的贡献各不相同模块头注释 handshake.py 给出了原始对照帧发送方携带内容是否带 MIC对哈希行的贡献M1AP→STA32 字节 ANonce否仅作 ANonce 供体M2STA→AP32 字节 SNonce是关键帧供 SNonce、MIC 与 802.1X 载荷M3AP→STAANonce重复是供 ANonce自身 MIC 不被使用M4STA→APNonce 常为全零是条件关键帧Nonce 非零才可担当M2 之所以不可替代是因为 hashcat 从MIC 帧内嵌的 Nonce 位置读回 SNonce所以 MIC 帧只能是 M2或 Nonce 未被清零的少见 M4。合法组合共四种M1M2、M2M3、M1M4、M3M4后两种以 M4 Nonce 非零为前提。上游的 EAPOL 解析分两步走先在 MAC 头之后定位 LLC/SNAP EAPOL 签名AA AA 03 00 00 00 88 8E再按 802.1X 固定偏移抽 Key Info、8 字节重放计数器、32 字节 Nonce、16 字节 MIC并按 Key Info 位与 Key Data 长度归类为 M1–M40 表示组重加密等无关帧见 parser.py 的_parse_eapol与_classify_eapol_msg。弱信号下的截断帧也会以尽力而为的残缺包返回交给配对阶段裁决。配对规则逐关拆解顺序、计数器、时间三重校验 配对核心crackable_pairs与 UI 横幅、自动保存共用同一条代码路径界面宣称已捕获就一定可导出二者不存在矛盾。候选在进入结果表之前要按序闯过三道关卡顺序关四向握手按 M1→M2→M3→M4 的固定次序到达编号小的帧必须先到。若不设此条上一次关联的帧会与本次的帧错配倒序候选在 handshake.py 处被直接剔除。计数器关重放计数器是精确绑定同一次握手中 M1 与 M2 均为 NM3 与 M4 均为 N1。供体帧须落在关键帧的期望值附近偏差越大排序越靠后候选按计数器间隙 → 置信度 → 时间距离取最优。时间关兜底层。缺少它时两次不同关联的帧可能因计数器恰好对齐而被错配wifit3 对到达时差超过 5.0 秒的配对直接拒绝常量_EAPOL_PAIR_WINDOW_S与上游工具同值见 handshake.py。放行的是同一次握手中顺序正确、计数器间隙为 0 或 ≤8 的组合拒绝的是倒序、计数器跳变超过 8 格、时差超过 5 秒的组合。主逻辑位于 crackable_pairs。时间窗与 Nonce 容差的参数溯源5 秒与 8 的出处 ⏳这两个参数都原样继承自 hcxpcapngtool并非 wifit3 的本地调参5 秒窗口对应该工具的EAPOLTIMEOUT同值 5 秒。作者团队在大量真实抓包上验证过同一次握手的四帧不可能被拉开 5 秒以上。8 格容差对应该工具--nonce-error-corrections 8的默认值允许供体帧计数器与期望值偏差 ≤8 次再由 hashcat 在小窗口内暴力补齐见 handshake.py。另有一条豁免规则没有时间戳0.0的旧捕获在_within_window中跳过时间检查仅凭计数器规则配对保证老 pcap 的回放测试不受时间关影响。脏数据容错计数器跳变、截断帧与 NC 位的写入 无线环境有两类脏数据。其一是计数器跳变AP 重传或弱信号会让供体帧计数器偏离预期几格_NC_MAX 8的容差让这类组合得以通过计数器关代价是哈希行要打上专门的标记——message_pair 字节的高位置 NC 位 0x80pair_byte | _NC_BIT见 hc22000_line告诉 hashcat ANonce 与重放计数器允许小窗口漂移由它自动试错补齐。其二是截断帧解析层按尽力而为原则返回残缺包但配对层的_mic_frame_usable要求关键帧的 802.1X 载荷至少到达 97 字节覆盖偏移 81 起的 16 字节 MIC残缺的 M2 在这里被判废不会进入哈希行。还有一处约定哈希行内嵌的 802.1X 载荷在输出时把 MIC 字段清零MIC 本体另存为独立字段这正是-m 22000的读取规范。实操捕获路径从选网卡到导出握手哈希行 从支持列表里选一张支持监听模式的 USB 网卡清单见 SUPPORTED-HARDWARE.md如 ALFA AWUS036ACS、TP-Link Archer T2U Plus在扫描页锁定目标 AP 后进入 Focus 页wifit3 会自动完成解析 → 配对 → 判定横幅实时显示握手捕获状态。对于 SAEWPA3、EAP 等企业或无密码体制的握手eapol_verdicthandshake.py会给出uncrackable标注界面显式标出不可破解而不是静默丢弃用户始终知道捕获了但不可用的握手。涉及文件一览与要点回顾 文件职责src/wifit3/dot11/parser.pyEAPOL 签名定位与 M1–M4 消息分类src/wifit3/dot11/eapol.py802.1X 载荷组装与 MIC 回写MIC_OFFSET 81src/wifit3/crack/handshake.py配对算法、5 秒窗口、NC8 容差、hc22000 生成src/wifit3/models/handshake.py每客户端握手状态与可破解判定src/wifit3/dot11/wpa.pyPMK/PTK 派生与 M2 帧构造四条规则收束哈希行 ANonce SNonce 一帧自带 SNonce 的 MIC 帧M2 是默认关键帧M4 仅在 Nonce 非零时递补。配对 到达顺序 重放计数器期望值 5.0 秒窗口对齐 hcxpcapngtoolEAPOLTIMEOUT ≤8 格计数器间隙对齐--nonce-error-corrections 8四条串联。message_pair 字节高位固定写 NC 位 0x80让 hashcat 在哈希行层面自动启用小窗口漂移补偿。判定与导出走同一条代码路径SAE/EAP 等体制显式标注不可破解横幅与保存永不互相矛盾。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考