HTTP/3 测试 & 网络指纹实验室

两部分: 检测「当前浏览器 + 网络」能否与本站建立 HTTP/3 (QUIC) 连接(读 PerformanceResourceTiming.nextHopProtocol,h3=HTTP/3、h2=HTTP/2、http/1.1=HTTP/1.1); 采集本连接的服务端协议指纹(JA3/JA4、PeetPrint、Akamai HTTP/2、HTTP/3 指纹)——用于反欺诈研究:UA 声称的浏览器与真实指纹是否一致。

正在测试…首次请求通常走 h2;浏览器看到服务器广播的 h3(Alt-Svc)后,后续请求才会尝试 QUIC。请稍候几秒。

结论摘要

最终协商协议
成功用上 HTTP/3 的比例
本页加载(导航)用的协议
服务器广播 h3 (Alt-Svc)检测中…
首次协商 h3 用了几次请求
平均往返(responseEnd-start)

逐次请求明细

#协议DNS连接TLSTTFB总计
DNS=域名解析;连接=TCP/QUIC 建连;TLS=加密握手;TTFB=首字节;单位 ms。h3/复用连接时部分阶段可能为 0。

服务端协议指纹(反欺诈)

正在从指纹服务(:8443)采集本连接的 TLS / HTTP2 / HTTP3 指纹…
怎么用于反欺诈:TLS 栈(JA3/JA4/PeetPrint)与 HTTP2/3 帧顺序由客户端底层库决定,伪造成本高。把这些 hash 与已知真实浏览器指纹库(如 tls.peet.ws)比对——若 UA 自称 Chrome,但 JA4/Akamai 指纹对应的是 Python/Go/curl,即高度可疑(脚本/爬虫/伪装)。这些指纹浏览器 JS 拿不到,必须服务端读原始 TLS/QUIC 帧,本页由独立指纹服务(TrackMe)在 :8443 提供。
▸ TLS 原始:密码套件 / 扩展 / PeetPrint
▸ HTTP/2 原始帧(SETTINGS / WINDOW_UPDATE / PRIORITY / 伪头顺序)

网络层 · TCP/IP 指纹与代理判定

正在读取本连接的 TCP/IP 指纹(需服务端从 SYN 抓取)…
怎么用于查代理:TTL/MSS/窗口/选项顺序由终结这条 TCP 连接的那台机器的操作系统内核决定。 ① MSS<1460(MTU<1500) → 链路上有隧道封装,疑似 VPN(WireGuard≈1420、OpenVPN≈1400)。 ② TTL 推断的系统 ≠ UA/TLS 声称的系统(如 UA 说 Windows、TTL 却是 *nix)→ 中间隔着 Linux 代理机,疑似代理/伪装。 透明代理(住宅代理/SOCKS)不改 TLS 指纹,但这一层的 MSS/OS 线索仍可能露馅。若本卡显示"不可用",通常是连接经了 NAT/负载均衡,原始 SYN 在本机不可见。

IP 信誉 / ASN(机房 vs 住宅)

正在查询 IP 归属(离线 ASN 库)…
怎么用于查代理:机房/托管 ASN(阿里云/腾讯云/AWS/OVH…)几乎不会是真实终端用户 → 命中即高度疑似 VPS/代理/爬虫;住宅代理则要靠 ASN + 上面的 TCP/MSS 线索综合判断。 地理↔时区不一致(IP 在美国、浏览器时区却是 Asia/Shanghai)也是代理的常见破绽。离线 ASN 库来自 iptoasn.com,无第三方请求。

DNS 行为(自建权威 DNS 实时观测)

正在触发一次唯一子域解析,观测你真正使用的递归解析器…(约需数秒)
<随机>.d.h3.investigate.bio 触发一次解析,由本站自建权威 DNS 记录真正来查询的递归解析器 IPECS(原始值)。 解析器与你不在同网、或 ECS 子网与出口 IP 不符,常暗示公共 DNS / DoH / 代理;Cloudflare(1.1.1.1)默认不发 ECS(隐私)。这是浏览器完全拿不到、只能在权威侧观测的信号。

客户端设备指纹(高熵 · 设备关联)

正在采集浏览器高熵指纹…
怎么用于查同设备/批量注册:Canvas、WebGL(GPU 型号)、AudioContext、字体列表是高熵信号,组合后常接近唯一 → 即"设备指纹",能把多个账号关联到同一台机器。 服务端 TLS 指纹熵太低(百万人同为 Chrome/Win),做不到设备级关联,必须靠这一层。 三层交叉:WebGL 的 GPU 暗示的系统、UA 声称的系统、网络层 TTL 推断的系统三者应自洽——不一致往往是 anti-detect 浏览器 / 虚拟机 / 伪装。此指纹在浏览器本地计算,仅本页展示,未上传。

客户端深度检测(机器人 / 反检测 / Client Hints)

正在做自动化/反检测/Client Hints 检测…
自动化检测navigator.webdriver、HeadlessChrome、Selenium/Puppeteer/Playwright 痕迹、权限矛盾等 → 脚本/爬虫反检测浏览器把 Canvas/WebGL/Audio 各跑两次——真浏览器结果恒定,注入随机噪声(Multilogin/GoLogin 等)则两次不同 → 批量注册工具Client Hints 的平台/架构与 UA 字符串、GPU、TCP 推断的系统应自洽,不符即伪装。

WebRTC IP 泄露(穿透 VPN/代理)

正在通过 STUN 收集 WebRTC 候选地址…
WebRTC 经 STUN 能拿到浏览器真实公网/局域 IP,可穿透 VPN/代理——与服务端看到的出口 IP 不符即暴露真实位置(经典查代理手段)。现代浏览器用 mDNS 隐藏局域 IP,但公网 srflx 候选仍可能泄露。

客户端·渲染 / 媒体 / 持久化

正在采集语音/编解码/emoji/WebGL/CSS/持久ID…
语音/emoji/编解码由 OS 决定 → 与 UA 声称系统交叉验证。持久 ID 冗余存于 localStorage+IndexedDB+cookie,清 cookie 也能重认——同一持久 ID 出现在不同设备指纹下 = 有人在清指纹/多开规避。纯本地,仅本实验演示。

客户端·行为与运行环境

正在观测交互与运行环境(约 6 秒;动动鼠标数据更全)…
无交互 + 机器人式鼠标(直线/匀速/瞬移)→ 脚本;指针/悬停与设备类型不符(移动 UA 却支持 hover)→ 伪装;CPU/计时/帧率异常(帧率<30、计时被粗化)→ VM/无头。行为需你在页面上动鼠标才有样本。

综合风险分(反欺诈)

正在综合四层信号评估…
综合四层(TLS 协议指纹 / 网络 TCP-IP / IP 信誉 / 客户端设备)信号,叠加历史关联——同设备指纹簇、同设备多 IP(代理轮换)、单位时间高频(velocity)、单 IP 多设备(设备农场)——给出可解释风险分。 → 打开关联层仪表盘(近 200 条访问 + 风险明细)。数据存于本机 SQLite,仅用于本实验演示。

环境信息

测试时间
浏览器 / 版本
操作系统 / 平台
网络类型(如可读)
安全上下文 (HTTPS)
协议检测 API
页面地址
User-Agent

结果怎么读 / 排查

h3 出现 = 本浏览器与本网络成功建立了 QUIC 连接,UDP 443 全程通(客户端 + 网络 + 服务器都 OK)。

h2 始终 = 用不上 HTTP/3。本页测的是「到本服务器」的 h3,失败可能出在任一环节,请按下面排查: