亲自手搓 在你自己的VPS上尝试复现VLESS-Reality-cracker 对于Caddy提供的HTTPS服务
前言
上一篇我们已经实现了手搓复现 VLESS-Reality-cracker
那么, 按照作者的理论, 如果测试对象不是 Reality 服务端, 而是一个真实的HTTPS服务器, 探针应该显示相同的结果.
让我们试试 Caddy 提供的 HTTPS 服务
准备环境
搭一个正常工作的 Caddy 提供HTTPS服务
略
在Docker中部署一个Caddy, 使用和宿主机同样的Caddyfile和证书
docker run -d \--name caddy-test \--network bridge \-v /etc/caddy/Caddyfile:/etc/caddy/Caddyfile:ro \-v /var/lib/caddy/.local/share/caddy:/data/caddy:ro \caddy:latest
查看Docker中Caddy的IP
docker ps -q | xargs docker inspect -f '{{.Name}} -> {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
访问Docker中的Caddy的HTTPS服务
curl -L --resolve 你的域名:443:Docker中Caddy的IP https://你的域名
如
curl -L --resolve drla.whatcanisay.ggff.net:443:172.17.0.3 https://drla.whatcanisay.ggff.net
测试1
原作者的7个探针
启动POC程序
./vless-cracker-v1 \
-i docker0 \
-f "tcp port 443 and host 172.17.0.1 and host 172.17.0.3" \
-P characteristic.txt \
-l info
访问HTTPS服务
curl -L --resolve drla.whatcanisay.ggff.net:443:172.17.0.3 https://drla.whatcanisay.ggff.net
结果
测试2
issue 29 的30个探针
1-4, 6-10
11-17, 19-20
5
18
原始日志
[2026-05-15 20:15:16.349651] TLS ClientHello 172.17.0.1:60496 -> 172.17.0.3:443 sni=drla.whatcanisay.ggff.net alpn=h2,http/1.1 versions=0x0304,0x0303TLS ServerHello 172.17.0.3:443 -> 172.17.0.1:60496 selected_version=0x0304 bytes=3649TLS replay attempt=1 server=172.17.0.3:443TLS PROBE-FIRST server=172.17.0.3:443 sending probe(6) + ClientHello(1585) = 1591 bytescombinedTLS replay attempt=1 server=172.17.0.3:443 failed=recv_failed error=Connection reset bypeer bytes=0TLS replay attempt=1 discarded; all probes returned NONETLS replay B randomized ClientHello legacy_session_id len=32 before=88607a5b after=28780a91TLS replay waiting 1s before attempt=B randomized session_id recheckTLS replay attempt=2 server=172.17.0.3:443TLS PROBE-FIRST server=172.17.0.3:443 sending probe(6) + ClientHello(1585) = 1591 bytescombinedTLS replay attempt=2 server=172.17.0.3:443 failed=recv_failed error=Connection reset bypeer bytes=0TLS replay attempt=2 discarded; all probes returned NONETLS replay confirmation round=1 skipped; discarded round A=no_signal B=no_signal
30
总结
可以看到, 和 Reality 服务端 的测试结果对比,
1. Caddy的HTTPS服务端的测试结果中 所有探针在两轮测试中的状态是一致的.
2. Caddy的HTTPS服务端的测试结果中 探针的状态与 Reality服务端的第1轮测试是一致的.
评论
发表评论