{"schema":"portbug/v1","id":"PB-20260911-9E70AB","created_at":"2026-09-11T14:32:46.60100378Z","source":"web","title":"浏览器基线检测 (HTTPS/443 · 上海)","client":{"version":"web","os":"Win32","arch":""},"node":{"id":"sh-01","name":"上海","region":"cn-shanghai","host":"sh-01.node.portbug.allog.com","mode":"browser"},"egress":{"ip":"183.192.9.11"},"tests":[{"port":443,"proto":"tcp","dir":"probe","streams":0,"dur_ms":0,"bytes":0,"mbps":0,"observed_port":443,"rtt_ms":14.799999997019768,"reach":"ok"},{"port":443,"proto":"tcp","dir":"down","streams":1,"dur_ms":10000,"bytes":18808832,"mbps":15.05,"samples":[{"t_ms":0,"mbps":15.73},{"t_ms":100,"mbps":15.73},{"t_ms":200,"mbps":15.73},{"t_ms":300,"mbps":15.73},{"t_ms":400,"mbps":15.73},{"t_ms":500,"mbps":15.73},{"t_ms":600,"mbps":15.73},{"t_ms":700,"mbps":10.49},{"t_ms":800,"mbps":15.73},{"t_ms":900,"mbps":15.73},{"t_ms":1000,"mbps":15.73},{"t_ms":1100,"mbps":15.73},{"t_ms":1200,"mbps":15.73},{"t_ms":1300,"mbps":15.73},{"t_ms":1400,"mbps":10.49},{"t_ms":1500,"mbps":15.73},{"t_ms":1600,"mbps":15.73},{"t_ms":1700,"mbps":15.73},{"t_ms":1800,"mbps":15.73},{"t_ms":1900,"mbps":15.73},{"t_ms":2000,"mbps":15.73},{"t_ms":2100,"mbps":10.49},{"t_ms":2200,"mbps":15.73},{"t_ms":2300,"mbps":15.73},{"t_ms":2400,"mbps":15.73},{"t_ms":2500,"mbps":15.73},{"t_ms":2600,"mbps":15.73},{"t_ms":2700,"mbps":15.73},{"t_ms":2800,"mbps":10.49},{"t_ms":2900,"mbps":15.73},{"t_ms":3000,"mbps":15.73},{"t_ms":3100,"mbps":15.73},{"t_ms":3200,"mbps":15.73},{"t_ms":3300,"mbps":15.73},{"t_ms":3400,"mbps":15.73},{"t_ms":3500,"mbps":15.73},{"t_ms":3600,"mbps":10.49},{"t_ms":3700,"mbps":15.73},{"t_ms":3800,"mbps":15.73},{"t_ms":3900,"mbps":15.73},{"t_ms":4000,"mbps":15.73},{"t_ms":4100,"mbps":15.73},{"t_ms":4200,"mbps":15.73},{"t_ms":4300,"mbps":10.49},{"t_ms":4400,"mbps":15.73},{"t_ms":4500,"mbps":15.73},{"t_ms":4600,"mbps":15.73},{"t_ms":4700,"mbps":15.73},{"t_ms":4800,"mbps":15.73},{"t_ms":4900,"mbps":15.73},{"t_ms":5000,"mbps":10.49},{"t_ms":5100,"mbps":15.73},{"t_ms":5200,"mbps":15.73},{"t_ms":5300,"mbps":15.73},{"t_ms":5400,"mbps":15.73},{"t_ms":5500,"mbps":15.73},{"t_ms":5600,"mbps":15.73},{"t_ms":5700,"mbps":10.49},{"t_ms":5800,"mbps":15.73},{"t_ms":5900,"mbps":15.73},{"t_ms":6000,"mbps":15.73},{"t_ms":6100,"mbps":15.73},{"t_ms":6200,"mbps":15.73},{"t_ms":6300,"mbps":10.49},{"t_ms":6400,"mbps":15.73},{"t_ms":6500,"mbps":15.73},{"t_ms":6600,"mbps":15.73},{"t_ms":6700,"mbps":15.73},{"t_ms":6800,"mbps":15.73},{"t_ms":6900,"mbps":15.73},{"t_ms":7000,"mbps":15.73},{"t_ms":7100,"mbps":15.73},{"t_ms":7200,"mbps":10.49},{"t_ms":7300,"mbps":15.73},{"t_ms":7400,"mbps":15.73},{"t_ms":7500,"mbps":15.73},{"t_ms":7600,"mbps":15.73},{"t_ms":7700,"mbps":15.73},{"t_ms":7800,"mbps":15.73},{"t_ms":7900,"mbps":10.49},{"t_ms":8000,"mbps":15.73},{"t_ms":8100,"mbps":15.73},{"t_ms":8200,"mbps":15.73},{"t_ms":8300,"mbps":15.73},{"t_ms":8400,"mbps":15.73},{"t_ms":8500,"mbps":12.12},{"t_ms":8600,"mbps":14.09},{"t_ms":8700,"mbps":15.73},{"t_ms":8800,"mbps":15.73},{"t_ms":8900,"mbps":15.73},{"t_ms":9000,"mbps":15.73},{"t_ms":9100,"mbps":15.73},{"t_ms":9200,"mbps":15.73},{"t_ms":9300,"mbps":10.49},{"t_ms":9400,"mbps":15.73},{"t_ms":9500,"mbps":15.73},{"t_ms":9600,"mbps":15.73},{"t_ms":9700,"mbps":15.73},{"t_ms":9800,"mbps":15.73},{"t_ms":9900,"mbps":15.73}],"observed_port":443,"reach":"ok"},{"port":443,"proto":"tcp","dir":"up","streams":1,"dur_ms":8000,"bytes":79429632,"mbps":79.43,"samples":[{"t_ms":0,"mbps":104.86},{"t_ms":100,"mbps":393.99},{"t_ms":200,"mbps":266.63},{"t_ms":300,"mbps":167.44},{"t_ms":400,"mbps":167.44},{"t_ms":500,"mbps":167.44},{"t_ms":600,"mbps":95.9},{"t_ms":700,"mbps":62.85},{"t_ms":800,"mbps":62.85},{"t_ms":900,"mbps":62.85},{"t_ms":1000,"mbps":62.85},{"t_ms":1100,"mbps":62.85},{"t_ms":1200,"mbps":62.85},{"t_ms":1300,"mbps":62.85},{"t_ms":1400,"mbps":62.85},{"t_ms":1500,"mbps":62.85},{"t_ms":1600,"mbps":62.85},{"t_ms":1700,"mbps":64.04},{"t_ms":1800,"mbps":64.69},{"t_ms":1900,"mbps":64.69},{"t_ms":2000,"mbps":64.69},{"t_ms":2100,"mbps":64.69},{"t_ms":2200,"mbps":67.03},{"t_ms":2300,"mbps":67.95},{"t_ms":2400,"mbps":67.95},{"t_ms":2500,"mbps":67.95},{"t_ms":2600,"mbps":67.95},{"t_ms":2700,"mbps":61.67},{"t_ms":2800,"mbps":61},{"t_ms":2900,"mbps":61},{"t_ms":3000,"mbps":61},{"t_ms":3100,"mbps":61},{"t_ms":3200,"mbps":62.91},{"t_ms":3300,"mbps":67.76},{"t_ms":3400,"mbps":67.76},{"t_ms":3500,"mbps":67.76},{"t_ms":3600,"mbps":67.76},{"t_ms":3700,"mbps":65.33},{"t_ms":3800,"mbps":62.86},{"t_ms":3900,"mbps":62.86},{"t_ms":4000,"mbps":62.86},{"t_ms":4100,"mbps":62.86},{"t_ms":4200,"mbps":62.47},{"t_ms":4300,"mbps":65.63},{"t_ms":4400,"mbps":65.63},{"t_ms":4500,"mbps":65.63},{"t_ms":4600,"mbps":65.63},{"t_ms":4700,"mbps":65.63},{"t_ms":4800,"mbps":58.72},{"t_ms":4900,"mbps":58.74},{"t_ms":5000,"mbps":58.74},{"t_ms":5100,"mbps":58.74},{"t_ms":5200,"mbps":58.74},{"t_ms":5300,"mbps":60.65},{"t_ms":5400,"mbps":70.4},{"t_ms":5500,"mbps":70.4},{"t_ms":5600,"mbps":70.4},{"t_ms":5700,"mbps":70.4},{"t_ms":5800,"mbps":67.77},{"t_ms":5900,"mbps":65.54},{"t_ms":6000,"mbps":65.54},{"t_ms":6100,"mbps":65.54},{"t_ms":6200,"mbps":65.54},{"t_ms":6300,"mbps":63.92},{"t_ms":6400,"mbps":62.5},{"t_ms":6500,"mbps":62.5},{"t_ms":6600,"mbps":62.5},{"t_ms":6700,"mbps":62.5},{"t_ms":6800,"mbps":62.5},{"t_ms":6900,"mbps":62.83},{"t_ms":7000,"mbps":63.41},{"t_ms":7100,"mbps":63.41},{"t_ms":7200,"mbps":63.41},{"t_ms":7300,"mbps":63.41},{"t_ms":7400,"mbps":64.39},{"t_ms":7500,"mbps":65.92},{"t_ms":7600,"mbps":65.92},{"t_ms":7700,"mbps":65.92},{"t_ms":7800,"mbps":65.92},{"t_ms":7900,"mbps":64.35},{"t_ms":8000,"mbps":63.9},{"t_ms":8100,"mbps":63.9},{"t_ms":8200,"mbps":63.9},{"t_ms":8300,"mbps":63.9},{"t_ms":8400,"mbps":46.84}],"observed_port":443,"reach":"ok"}],"verdict":{"kind":"inconclusive","title":"HTTPS/443 基线（浏览器 → sh-01）：下行 15.1 Mbps，上行 79.4 Mbps","detail":"这是浏览器能达到的全部。本次没有测任何其他端口，因此不能就「某个端口是否被限速」作出任何判断 —— 那需要同链路的对照端口和逐秒序列。","confidence":"low","evidence":["仅测量 TCP/443（HTTPS）","无对照端口，未做整形检测","节点单流上限 15 Mbps：数字触顶只说明链路至少有这么快"],"control_ports":null},"method":{"timing":"按时长计时（浏览器到点截断），非按字节","duration_ms":10000,"streams":1,"bucket_ms":100,"rate_limit":"节点单流上限 15 Mbps","control_ports":"","clock":"浏览器 performance.now()（单调时钟）","notes":"浏览器沙箱内测量，目标为测速节点 sh-01 的 HTTPS/443；端口级结论需本地客户端"},"public":true,"untested":[{"capability":"任意 TCP 端口","reason":"浏览器只会说 HTTPS：3389、5060、游戏端口上跑的真实协议，它一概碰不到"},{"capability":"裸 UDP 吞吐","reason":"WebRTC 之外发不出裸 UDP 包，RDP / 游戏 / 音视频的真实上限测不到"},{"capability":"端口整形检测","reason":"需要逐秒吞吐序列与同链路对照端口，JS 计时被缓冲和 TLS 层抹平"},{"capability":"逐跳归因","reason":"需要构造 TTL 递增的 SYN 包，浏览器碰不到 IP 层"},{"capability":"TCP 重传与 cwnd","reason":"rtt / retrans / snd_cwnd / delivery_rate 是内核态数据，JS 读不到"},{"capability":"MTU 黑洞探测","reason":"需要控制包长与 DF 标志位，浏览器无此能力"}]}
