亲自手搓 在你自己的VPS上尝试复现 VLESS-Reality-cracker
前言
担心模型糊弄我, 所以准备自己复核一遍.
TL; DR
具体经过
我跟Agent说
总结从 git clone 项目开始 到你输出测试结果的全过程输出一份文档 包含全部的 命令行操作指导我完成 整个测试
这份总结里面部分东西有用, 但整体不是我当天测试的流程, 有些细节也没有总结进去.
我一边读TA的总结, 一边自己整理一份.
在这个过程中, 我发现了一些有意思的点.
1. Nodeseek上有人问我怎么看日志
学习和分析这个项目 https://github.com/Anonymous376c1d0cf28/VLESS-cracker对于像这样的测试日志, 制作一个单HTML页面的分析工具
2. issues 29 提到的 30个 探针 里面有些特殊情况
探针 5:记录层长度刚好溢出 (+1 Byte)
Hex: 17 03 03 40 01 00 ... (省略 16385 字节数据)
意图: TLS 标准最大长度为 16384 (0x4000)。测试边界条件,看是否能触发 record_overflow 警告。
探针 5 的数据比较大, 要单独测试.
探针 18:在 ClientHello 之前的 CCS
Hex: 14 03 03 00 01 01 16 03 01 00... (ClientHello)
意图: 颠倒发包顺序。正规服务器会立刻返回 unexpected_message。
其它探针都是在重放 ClientHello 之后 发出探针的数据包. 探针 18 是在要重放 ClientHello 的时候, 在 ClientHello 之前添加一些数据, 然后发出去.
探针 30:极大的连续碎片包
Hex: 连续发送 100 个 17 03 03 00 01 FF
意图: 针对内存碎片的压力测试,看代理是否会因为拼装碎片而导致内存耗尽或触发限流策略。
探针 30 构造的数据有 1799 字节, 和其它探针相比明显大很多, 安排单独测试.
3. 为了探针 18 修改 POC程序时, 网页版免费账号Claude拒绝
4. 第5号探针体积很大, 原始测试程序会报错
报错 "probe file 'probe-5-16385.txt' line 1 is too long"
让 mimo-v2.5-pro 修改了一下.
// 唯一差异:- #define MAX_PROBE_BYTES 4096+ #define MAX_PROBE_BYTES 32768
我反正不懂, 保存为 probe-5-mimo.c
我的测试结果
原作者的7个探针
1-4, 6-10
原始日志
[2026-05-15 04:11:17.535478] TLS ClientHello 172.17.0.1:43680 -> 172.17.0.2:8443 sni=learn.microsoft.com alpn=h2,http/1.1 versions=0xbaba,0x0304,0x0303TLS ServerHello 172.17.0.2:8443 -> 172.17.0.1:43680 selected_version=0x0304 bytes=5181TLS replay attempt=1 server=172.17.0.2:8443TLS PROBE-FIRST server=172.17.0.2:8443 sending probe(6) + ClientHello(1793) = 1799 bytes combinedTLS replay attempt=1 discarded; all probes returned NONETLS replay B randomized ClientHello legacy_session_id len=32 before=d6809886 after=b113da6eTLS replay waiting 1s before attempt=B randomized session_id recheckTLS replay attempt=2 server=172.17.0.2:8443TLS PROBE-FIRST server=172.17.0.2:8443 sending probe(6) + ClientHello(1793) = 1799 bytes combinedTLS replay attempt=2 discarded; all probes returned NONETLS replay confirmation round=1 skipped; discarded round A=no_signal B=no_signal
30
评论
发表评论