7bbe1e183af0b6c6 — ChatGPT - Browser - HighThis run is no longer active in server memory (restart or run-limit eviction) -- reconstructed from the event log on disk.
Server-observed TCP/TLS/H2/HTTP layers, joined per client. See results for the application-layer / self-reported view.
Drag the right edge of a column header to resize it (tables can grow past the screen -- scroll horizontally). Each table has Copy/Download TSV buttons above it.
Showing all clients. Show only AI agents
TLS/H2/TCP fingerprint per client, with your own browser (the request that loaded this page) pinned at top for reference.
| User-Agent | Reqs | Conns | JA4 | TLS | Cipher | ALPN | GREASE | ECH | H2 FP | RTT | Proxy hdrs |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Your browser (viewing this page) | - | - | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | TLS 1.3 | TLS_AES_128_GCM_SHA256 | h2 | false | false | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | 40.7ms | - |
| Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 | 7 | 2 | t13d1518h2_8daaf6152771_e2d80978ab2e | TLS 1.3 | TLS_AES_128_GCM_SHA256 | h2 | true | true | 1:65536;2:0;4:6291456;6:262144|15663105|1:1:0:256|m,a,s,p | 50.2ms | - |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot | 26 | 3 | t13d1712h2_5b57614c22b0_ef7df7f74e48 | TLS 1.3 | TLS_AES_128_GCM_SHA256 | h2 | false | false | 2:0;1:4096;8:0;3:1024;4:1048576|25100289|0|a,p,m,s | 54.2ms | x-request-id, x-envoy-expected-rq-timeout-ms |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 6 | 6 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | TLS 1.3 | TLS_AES_128_GCM_SHA256 | h2 | false | false | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | 34.6ms | - |
Hover a cell for the raw outcome. FAIL means the probe was reached but the capability wasn't demonstrated (e.g. no conditional revalidation sent); "-" means the probe was never reached.
| User-Agent | cache_etag | cache_heuristic | cache_maxage | delay_body | delay_header | enc_br | enc_force_br | enc_force_gzip | enc_force_zstd | enc_gzip | enc_identity | enc_zstd | img_avif | img_jpeg | img_png | img_webp | js_page | redirect_302 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 | - | - | - | - | - | - | - | - | - | - | - | - | PASS | PASS | PASS | PASS | - | - |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot | FAIL | FAIL | PASS | FAIL | FAIL | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
7 request(s)
| Conn | JA4 | JA3 | JA3 hash | SNI | ALPN offered | ALPN negotiated | TLS negotiated | Highest offered | Cipher negotiated | GREASE | ECH | Cipher suites offered | Extensions in order | Supported groups | Signature algorithms |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #1 | t13d1518h2_8daaf6152771_e2d80978ab2e | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,17613-45-18-65281-10-51-11-0-5-65037-43-16-27-35-51764-23-13-41,4588-29-23-24,0 | 691a608d806d25e4233c3dbcb4963ceb | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | true | true | GREASE(0x6a6a), 0x1301 TLS_AES_128_GCM_SHA256, 0x1302 TLS_AES_256_GCM_SHA384, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0xc013 ECDHE_RSA_AES_128_CBC_SHA, 0xc014 ECDHE_RSA_AES_256_CBC_SHA, 0x009c RSA_AES_128_GCM_SHA256, 0x009d RSA_AES_256_GCM_SHA384, 0x002f RSA_AES_128_CBC_SHA, 0x0035 RSA_AES_256_CBC_SHA | GREASE(0x8a8a), 0x44cd, 0x002d psk_key_exchange_modes, 0x0012 signed_cert_timestamp, 0xff01 renegotiation_info, 0x000a supported_groups, 0x0033 key_share, 0x000b ec_point_formats, 0x0000 server_name, 0x0005 status_request, 0xfe0d encrypted_client_hello, 0x002b supported_versions, 0x0010 alpn, 0x001b compress_certificate, 0x0023 session_ticket, 0xca34, 0x0017 extended_master_secret, 0x000d signature_algorithms, GREASE(0x9a9a), 0x0029 pre_shared_key | GREASE(0xdada), 0x11ec X25519MLKEM768, 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | GREASE(0x2a2a), 0x0904, 0x0905, 0x0906, 0x0403 ecdsa_secp256r1_sha256, 0x0804 rsa_pss_rsae_sha256, 0x0401 rsa_pkcs1_sha256, 0x0503 ecdsa_secp384r1_sha384, 0x0805 rsa_pss_rsae_sha384, 0x0501 rsa_pkcs1_sha384, 0x0806 rsa_pss_rsae_sha512, 0x0601 rsa_pkcs1_sha512 |
| #2 | t13d1518h2_8daaf6152771_e2d80978ab2e | 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,13-5-43-65281-45-16-11-65037-0-35-18-23-51764-17613-51-27-10-41,4588-29-23-24,0 | cb8d83cfe9f597c7bbdb11b875a0cd72 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | true | true | GREASE(0xcaca), 0x1301 TLS_AES_128_GCM_SHA256, 0x1302 TLS_AES_256_GCM_SHA384, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0xc013 ECDHE_RSA_AES_128_CBC_SHA, 0xc014 ECDHE_RSA_AES_256_CBC_SHA, 0x009c RSA_AES_128_GCM_SHA256, 0x009d RSA_AES_256_GCM_SHA384, 0x002f RSA_AES_128_CBC_SHA, 0x0035 RSA_AES_256_CBC_SHA | GREASE(0xbaba), 0x000d signature_algorithms, 0x0005 status_request, 0x002b supported_versions, 0xff01 renegotiation_info, 0x002d psk_key_exchange_modes, 0x0010 alpn, 0x000b ec_point_formats, 0xfe0d encrypted_client_hello, 0x0000 server_name, 0x0023 session_ticket, 0x0012 signed_cert_timestamp, 0x0017 extended_master_secret, 0xca34, 0x44cd, 0x0033 key_share, 0x001b compress_certificate, 0x000a supported_groups, GREASE(0xcaca), 0x0029 pre_shared_key | GREASE(0x4a4a), 0x11ec X25519MLKEM768, 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | GREASE(0x0a0a), 0x0904, 0x0905, 0x0906, 0x0403 ecdsa_secp256r1_sha256, 0x0804 rsa_pss_rsae_sha256, 0x0401 rsa_pkcs1_sha256, 0x0503 ecdsa_secp384r1_sha384, 0x0805 rsa_pss_rsae_sha384, 0x0501 rsa_pkcs1_sha384, 0x0806 rsa_pss_rsae_sha512, 0x0601 rsa_pkcs1_sha512 |
| Conn | Fingerprint | Pseudo-header order | Header order | SETTINGS | Window update | Priority frames | First frame types |
|---|---|---|---|---|---|---|---|
| #1 | 1:65536;2:0;4:6291456;6:262144|15663105|1:1:0:256|m,a,s,p | :method,:authority,:scheme,:path | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | HEADER_TABLE_SIZE(1)=65536, ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=6291456, MAX_HEADER_LIST_SIZE(6)=262144 | 15663105 | 1:1:0:256 | SETTINGS, WINDOW_UPDATE, HEADERS |
| #2 | 1:65536;2:0;4:6291456;6:262144|15663105|1:1:0:256|m,a,s,p | :method,:authority,:scheme,:path | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-user, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | HEADER_TABLE_SIZE(1)=65536, ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=6291456, MAX_HEADER_LIST_SIZE(6)=262144 | 15663105 | 1:1:0:256 | SETTINGS, WINDOW_UPDATE, HEADERS |
| Conn | RTT | RTT var | Snd MSS | Rcv MSS | Adv MSS | Cwnd | Rcv space | Retransmits | Total retrans | Lost |
|---|---|---|---|---|---|---|---|---|---|---|
| #1 | 50.2ms | 0.9ms | 1408 | 1408 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #2 | 48.8ms | 7.3ms | 1408 | 1408 | 1408 | 10 | 14080 | 0 | 0 | 0 |
TTL, initial window and MSS come from the raw SYN packet -- the one layer a proxy fleet can't easily disguise, since it describes the kernel that opened the socket. Best-effort: requires a capture covering this connection's timestamp.
| Conn | TTL | Window size | MSS | Window scale | SACK permitted | Fingerprint | Pcap file |
|---|---|---|---|---|---|---|---|
| #1 | 60 | 65535 | 1460 | 6 | true | 60:65535:1460:6 | syn-20260914-010853.pcap |
| #2 | 60 | 65535 | 1460 | 6 | true | 60:65535:1460:6 | syn-20260914-010853.pcap |
Download raw capture: syn-20260914-010853.pcap
No self-report from this client. If it couldn't call /report itself, you can file one manually on its behalf.
| Probe | What it tests | Outcomes observed | Count |
|---|---|---|---|
img_avif | Image format: AVIF image -- tests whether the fetcher can decode it. | fetched | 1 |
img_jpeg | Image format: JPEG control image; the embedded number proves the bytes were decoded. | fetched | 1 |
img_png | Image format: PNG control image; the embedded number proves the bytes were decoded. | fetched | 1 |
img_webp | Image format: WebP image -- tests whether the fetcher can decode it. | fetched | 1 |
Response headers are what the handler explicitly set. Content-Length and Date are added by Go's HTTP stack directly to the wire afterward and never pass back through the header map, so they don't appear here -- see Bytes for the actual byte count.
| Time | Method | Path | Proto | Status | Accept | Accept-Encoding | Served enc. | Bytes | Duration | Header order | Response headers |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 01:39:22.552 | GET | /t/7bbe1e183af0b6c6/ | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 | gzip, deflate, br, zstd | 6906 | 0ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 01:39:22.638 | GET | /t/7bbe1e183af0b6c6/i/545ff2e02e69ce33 | HTTP/2.0 | 200 | image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 | gzip, deflate, br, zstd | 6393 | 0ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Length: 6393; Content-Type: image/jpeg | |
| 01:39:22.641 | GET | /t/7bbe1e183af0b6c6/i/70c606e98a805c2d | HTTP/2.0 | 200 | image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 | gzip, deflate, br, zstd | 714 | 0ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Length: 714; Content-Type: image/webp | |
| 01:39:22.641 | GET | /t/7bbe1e183af0b6c6/i/79225dd835da365e | HTTP/2.0 | 200 | image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 | gzip, deflate, br, zstd | 1543 | 0ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Length: 1543; Content-Type: image/png | |
| 01:39:22.641 | GET | /t/7bbe1e183af0b6c6/i/fb6ccde59862d1e9 | HTTP/2.0 | 200 | image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8 | gzip, deflate, br, zstd | 747 | 0ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Length: 747; Content-Type: image/avif | |
| 01:42:51.265 | GET | /t/7bbe1e183af0b6c6/detail | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 | gzip, deflate, br, zstd | 41896 | 772ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 01:56:15.084 | GET | /t/7bbe1e183af0b6c6/detail | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 | gzip, deflate, br, zstd | 41896 | 641ms | :method, :authority, :scheme, :path, sec-ch-ua, sec-ch-ua-mobile, sec-ch-ua-platform, upgrade-insecure-requests, user-agent, accept, sec-fetch-site, sec-fetch-mode, sec-fetch-user, sec-fetch-dest, referer, accept-encoding, accept-language, cookie, cookie, cookie, priority | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 |
| Time | Probe | Detail |
|---|---|---|
| 01:39:22.638 | img_jpeg:fetched | number=2023 bytes=6393 accept="image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" |
| 01:39:22.641 | img_webp:fetched | number=3023 bytes=714 accept="image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" |
| 01:39:22.641 | img_png:fetched | number=1023 bytes=1543 accept="image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" |
| 01:39:22.641 | img_avif:fetched | number=4023 bytes=747 accept="image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" |
26 request(s)
| Conn | JA4 | JA3 | JA3 hash | SNI | ALPN offered | ALPN negotiated | TLS negotiated | Highest offered | Cipher negotiated | GREASE | ECH | Cipher suites offered | Extensions in order | Supported groups | Signature algorithms |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #1 | t13d1712h2_5b57614c22b0_ef7df7f74e48 | 771,4865-4866-4867-49195-52393-49199-52392-49161-49171-156-47-49196-49200-49162-49172-157-53,0-23-65281-10-11-35-16-13-51-45-43-21,29-23-24-25,0 | f5bd742fa88333052a1deec09f821012 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1301 TLS_AES_128_GCM_SHA256, 0x1302 TLS_AES_256_GCM_SHA384, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0xc009 ECDHE_ECDSA_AES_128_CBC_SHA, 0xc013 ECDHE_RSA_AES_128_CBC_SHA, 0x009c RSA_AES_128_GCM_SHA256, 0x002f RSA_AES_128_CBC_SHA, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc00a ECDHE_ECDSA_AES_256_CBC_SHA, 0xc014 ECDHE_RSA_AES_256_CBC_SHA, 0x009d RSA_AES_256_GCM_SHA384, 0x0035 RSA_AES_256_CBC_SHA | 0x0000 server_name, 0x0017 extended_master_secret, 0xff01 renegotiation_info, 0x000a supported_groups, 0x000b ec_point_formats, 0x0023 session_ticket, 0x0010 alpn, 0x000d signature_algorithms, 0x0033 key_share, 0x002d psk_key_exchange_modes, 0x002b supported_versions, 0x0015 padding | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1, 0x0019 secp521r1 | 0x0403 ecdsa_secp256r1_sha256, 0x0804 rsa_pss_rsae_sha256, 0x0401 rsa_pkcs1_sha256, 0x0503 ecdsa_secp384r1_sha384, 0x0805 rsa_pss_rsae_sha384, 0x0501 rsa_pkcs1_sha384, 0x0806 rsa_pss_rsae_sha512, 0x0601 rsa_pkcs1_sha512, 0x0201 rsa_pkcs1_sha1 |
| #2 | t13d1712h2_5b57614c22b0_ef7df7f74e48 | 771,4865-4866-4867-49195-52393-49199-52392-49161-49171-156-47-49196-49200-49162-49172-157-53,0-23-65281-10-11-35-16-13-51-45-43-21,29-23-24-25,0 | f5bd742fa88333052a1deec09f821012 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1301 TLS_AES_128_GCM_SHA256, 0x1302 TLS_AES_256_GCM_SHA384, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0xc009 ECDHE_ECDSA_AES_128_CBC_SHA, 0xc013 ECDHE_RSA_AES_128_CBC_SHA, 0x009c RSA_AES_128_GCM_SHA256, 0x002f RSA_AES_128_CBC_SHA, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc00a ECDHE_ECDSA_AES_256_CBC_SHA, 0xc014 ECDHE_RSA_AES_256_CBC_SHA, 0x009d RSA_AES_256_GCM_SHA384, 0x0035 RSA_AES_256_CBC_SHA | 0x0000 server_name, 0x0017 extended_master_secret, 0xff01 renegotiation_info, 0x000a supported_groups, 0x000b ec_point_formats, 0x0023 session_ticket, 0x0010 alpn, 0x000d signature_algorithms, 0x0033 key_share, 0x002d psk_key_exchange_modes, 0x002b supported_versions, 0x0015 padding | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1, 0x0019 secp521r1 | 0x0403 ecdsa_secp256r1_sha256, 0x0804 rsa_pss_rsae_sha256, 0x0401 rsa_pkcs1_sha256, 0x0503 ecdsa_secp384r1_sha384, 0x0805 rsa_pss_rsae_sha384, 0x0501 rsa_pkcs1_sha384, 0x0806 rsa_pss_rsae_sha512, 0x0601 rsa_pkcs1_sha512, 0x0201 rsa_pkcs1_sha1 |
| #3 | t13d1712h2_5b57614c22b0_ef7df7f74e48 | 771,4865-4866-4867-49195-52393-49199-52392-49161-49171-156-47-49196-49200-49162-49172-157-53,0-23-65281-10-11-35-16-13-51-45-43-21,29-23-24-25,0 | f5bd742fa88333052a1deec09f821012 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1301 TLS_AES_128_GCM_SHA256, 0x1302 TLS_AES_256_GCM_SHA384, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0xc009 ECDHE_ECDSA_AES_128_CBC_SHA, 0xc013 ECDHE_RSA_AES_128_CBC_SHA, 0x009c RSA_AES_128_GCM_SHA256, 0x002f RSA_AES_128_CBC_SHA, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc00a ECDHE_ECDSA_AES_256_CBC_SHA, 0xc014 ECDHE_RSA_AES_256_CBC_SHA, 0x009d RSA_AES_256_GCM_SHA384, 0x0035 RSA_AES_256_CBC_SHA | 0x0000 server_name, 0x0017 extended_master_secret, 0xff01 renegotiation_info, 0x000a supported_groups, 0x000b ec_point_formats, 0x0023 session_ticket, 0x0010 alpn, 0x000d signature_algorithms, 0x0033 key_share, 0x002d psk_key_exchange_modes, 0x002b supported_versions, 0x0015 padding | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1, 0x0019 secp521r1 | 0x0403 ecdsa_secp256r1_sha256, 0x0804 rsa_pss_rsae_sha256, 0x0401 rsa_pkcs1_sha256, 0x0503 ecdsa_secp384r1_sha384, 0x0805 rsa_pss_rsae_sha384, 0x0501 rsa_pkcs1_sha384, 0x0806 rsa_pss_rsae_sha512, 0x0601 rsa_pkcs1_sha512, 0x0201 rsa_pkcs1_sha1 |
| Conn | Fingerprint | Pseudo-header order | Header order | SETTINGS | Window update | Priority frames | First frame types |
|---|---|---|---|---|---|---|---|
| #1 | 2:0;1:4096;8:0;3:1024;4:1048576|25100289|0|a,p,m,s | :authority,:path,:method,:scheme | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | ENABLE_PUSH(2)=0, HEADER_TABLE_SIZE(1)=4096, ENABLE_CONNECT_PROTOCOL(8)=0, MAX_CONCURRENT_STREAMS(3)=1024, INITIAL_WINDOW_SIZE(4)=1048576 | 25100289 | SETTINGS, WINDOW_UPDATE, HEADERS | |
| #2 | 2:0;1:4096;8:0;3:1024;4:1048576|25100289|0|a,p,m,s | :authority,:path,:method,:scheme | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | ENABLE_PUSH(2)=0, HEADER_TABLE_SIZE(1)=4096, ENABLE_CONNECT_PROTOCOL(8)=0, MAX_CONCURRENT_STREAMS(3)=1024, INITIAL_WINDOW_SIZE(4)=1048576 | 25100289 | SETTINGS, WINDOW_UPDATE, HEADERS, HEADERS, HEADERS | |
| #3 | 2:0;1:4096;8:0;3:1024;4:1048576|25100289|0|a,p,m,s | :authority,:path,:method,:scheme | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | ENABLE_PUSH(2)=0, HEADER_TABLE_SIZE(1)=4096, ENABLE_CONNECT_PROTOCOL(8)=0, MAX_CONCURRENT_STREAMS(3)=1024, INITIAL_WINDOW_SIZE(4)=1048576 | 25100289 | SETTINGS, WINDOW_UPDATE, HEADERS |
| Conn | RTT | RTT var | Snd MSS | Rcv MSS | Adv MSS | Cwnd | Rcv space | Retransmits | Total retrans | Lost |
|---|---|---|---|---|---|---|---|---|---|---|
| #1 | 54.2ms | 6.6ms | 1406 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #2 | 55.8ms | 4.0ms | 1406 | 565 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #3 | 54.0ms | 15.5ms | 1406 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
TTL, initial window and MSS come from the raw SYN packet -- the one layer a proxy fleet can't easily disguise, since it describes the kernel that opened the socket. Best-effort: requires a capture covering this connection's timestamp.
| Conn | TTL | Window size | MSS | Window scale | SACK permitted | Fingerprint | Pcap file |
|---|---|---|---|---|---|---|---|
| #1 | 54 | 64240 | 1418 | 9 | true | 54:64240:1418:9 | syn-20260914-010853.pcap |
| #2 | 53 | 64240 | 1418 | 9 | true | 53:64240:1418:9 | syn-20260914-010853.pcap |
| #3 | 54 | 64240 | 1418 | 9 | true | 54:64240:1418:9 | syn-20260914-010853.pcap |
Download raw capture: syn-20260914-010853.pcap
No self-report from this client. If it couldn't call /report itself, you can file one manually on its behalf.
| Probe | What it tests | Outcomes observed | Count |
|---|---|---|---|
cache_etag | Caching: ETag conditional revalidation on a repeat fetch. | unconditional | 1 |
cache_heuristic | Caching: no Cache-Control/Expires at all, only a stale Last-Modified -- tests optional RFC 7234 heuristic freshness. | unconditional | 1 |
cache_maxage | Caching: max-age=3600 resource -- repeat fetches reveal whether the client caches at all. | fetched | 1 |
delay_body | Timeout: fast TTFB then a trickled body -- how long the client waits out a stalled body. | abandoned | 1 |
delay_header | Timeout: stall before response headers -- how long the client waits for TTFB. | abandoned | 1 |
enc_br | Compression (negotiated): returns Brotli because Accept-Encoding asked for it. | served | 1 |
enc_force_br | Compression (forced): Brotli sent regardless of Accept-Encoding -- tests decode-only capability. | served | 1 |
enc_force_gzip | Compression (forced): gzip sent regardless of Accept-Encoding -- tests decode-only capability. | served | 1 |
enc_force_zstd | Compression (forced): zstd sent regardless of Accept-Encoding -- tests decode-only capability. | served | 1 |
enc_gzip | Compression (negotiated): returns gzip because Accept-Encoding asked for it. | served | 1 |
enc_identity | Compression (negotiated): returns an uncompressed body. | served | 1 |
enc_zstd | Compression (negotiated): returns zstd because Accept-Encoding asked for it. | served | 1 |
img_avif | Image format: AVIF image -- tests whether the fetcher can decode it. | fetched | 1 |
img_jpeg | Image format: JPEG control image; the embedded number proves the bytes were decoded. | fetched | 1 |
img_png | Image format: PNG control image; the embedded number proves the bytes were decoded. | fetched | 1 |
img_webp | Image format: WebP image -- tests whether the fetcher can decode it. | fetched | 1 |
js_page | Script execution: page whose visible content is written by an external script. | fetched | 1 |
redirect_302 | Redirects: whether a chain of 302 responses is followed, and how deep. | hop, completed | 4 |
Response headers are what the handler explicitly set. Content-Length and Date are added by Go's HTTP stack directly to the wire afterward and never pass back through the header map, so they don't appear here -- see Bytes for the actual byte count.
| Time | Method | Path | Proto | Status | Accept | Accept-Encoding | Served enc. | Bytes | Duration | Header order | Response headers |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 01:39:31.155 | GET | /t/7bbe1e183af0b6c6/ | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 6906 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 01:39:35.156 | GET | /t/7bbe1e183af0b6c6/enc/identity | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | identity | 2244 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 2244; Content-Type: text/plain; charset=utf-8; Vary: Accept-Encoding |
| 01:39:35.160 | GET | /t/7bbe1e183af0b6c6/enc/force/br | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | br | 292 | 2ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Encoding: br; Content-Length: 292; Content-Type: text/plain; charset=utf-8 |
| 01:39:35.160 | GET | /t/7bbe1e183af0b6c6/enc/force/gzip | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | gzip | 344 | 2ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Encoding: gzip; Content-Length: 344; Content-Type: text/plain; charset=utf-8 |
| 01:39:35.170 | GET | /t/7bbe1e183af0b6c6/enc/force/zstd | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | zstd | 324 | 2ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Encoding: zstd; Content-Length: 324; Content-Type: text/plain; charset=utf-8 |
| 01:39:35.273 | GET | /t/7bbe1e183af0b6c6/enc/zstd | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | identity | 2236 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 2236; Content-Type: text/plain; charset=utf-8; Vary: Accept-Encoding |
| 01:39:35.274 | GET | /t/7bbe1e183af0b6c6/enc/gzip | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | gzip | 339 | 1ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Encoding: gzip; Content-Length: 339; Content-Type: text/plain; charset=utf-8; Vary: Accept-Encoding |
| 01:39:35.276 | GET | /t/7bbe1e183af0b6c6/enc/br | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | br | 285 | 2ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Encoding: br; Content-Length: 285; Content-Type: text/plain; charset=utf-8; Vary: Accept-Encoding |
| 01:39:39.547 | GET | /t/7bbe1e183af0b6c6/js | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 544 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 01:39:49.071 | GET | /t/7bbe1e183af0b6c6/i/79225dd835da365e | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 1543 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 1543; Content-Type: image/png | |
| 01:39:49.071 | GET | /t/7bbe1e183af0b6c6/cache/etag | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 149 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: max-age=2; Content-Type: text/plain; charset=utf-8; Etag: "probe-7bbe1e183af0b6c6" | |
| 01:39:49.074 | GET | /t/7bbe1e183af0b6c6/i/545ff2e02e69ce33 | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 6393 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 6393; Content-Type: image/jpeg | |
| 01:39:49.074 | GET | /t/7bbe1e183af0b6c6/cache/heuristic | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 277 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Content-Type: text/plain; charset=utf-8; Last-Modified: Fri, 04 Sep 2026 01:39:22 GMT | |
| 01:39:49.075 | GET | /t/7bbe1e183af0b6c6/cache/maxage | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 93 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: max-age=3600; Content-Type: text/plain; charset=utf-8 | |
| 01:39:49.079 | GET | /t/7bbe1e183af0b6c6/i/fb6ccde59862d1e9 | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 747 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 747; Content-Type: image/avif | |
| 01:39:49.085 | GET | /t/7bbe1e183af0b6c6/i/70c606e98a805c2d | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 714 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Length: 714; Content-Type: image/webp | |
| 01:39:54.455 | GET | /t/7bbe1e183af0b6c6/proto | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 4518 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: application/json; charset=utf-8 | |
| 01:39:54.458 | GET | /t/7bbe1e183af0b6c6/redir/302/3 | HTTP/2.0 | 302 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 0 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Location: https://ai-tester.paulcalvano.com/t/7bbe1e183af0b6c6/redir/302/2 | |
| 01:39:54.514 | GET | /t/7bbe1e183af0b6c6/redir/302/2 | HTTP/2.0 | 302 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 0 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Location: https://ai-tester.paulcalvano.com/t/7bbe1e183af0b6c6/redir/302/1 | |
| 01:39:54.571 | GET | /t/7bbe1e183af0b6c6/redir/302/1 | HTTP/2.0 | 302 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 0 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Location: https://ai-tester.paulcalvano.com/t/7bbe1e183af0b6c6/redir/302/0 | |
| 01:39:54.627 | GET | /t/7bbe1e183af0b6c6/redir/302/0 | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 38 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Content-Type: text/plain; charset=utf-8 | |
| 01:39:57.455 | GET | /t/7bbe1e183af0b6c6/delay/header/3000 | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 37 | 3000ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: text/plain; charset=utf-8 | |
| 01:39:59.733 | GET | /t/7bbe1e183af0b6c6/delay/body/20000 | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 161 | 5269ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: text/plain; charset=utf-8 | |
| 01:40:00.356 | GET | /t/7bbe1e183af0b6c6/delay/header/15000 | HTTP/2.0 | 0 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 0 | 5882ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | | |
| 01:40:14.358 | GET | /t/7bbe1e183af0b6c6/results | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 7521 | 0ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 01:40:44.884 | GET | /t/7bbe1e183af0b6c6/results.json | HTTP/2.0 | 200 | text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 | gzip, deflate, br | 10009 | 1ms | :authority, :path, :method, :scheme, user-agent, accept-language, accept-encoding, accept, x-request-id, x-envoy-expected-rq-timeout-ms | Cache-Control: no-store; Content-Type: application/json; charset=utf-8 |
| Time | Probe | Detail |
|---|---|---|
| 01:39:35.156 | enc_identity:served | advertised=no served=identity bytes=2244 |
| 01:39:35.159 | enc_force_br:served | advertised=true served=br bytes=292 |
| 01:39:35.160 | enc_force_gzip:served | advertised=true served=gzip bytes=344 |
| 01:39:35.170 | enc_force_zstd:served | advertised=false served=zstd bytes=324 |
| 01:39:35.273 | enc_zstd:served | advertised=no served=identity bytes=2236 |
| 01:39:35.274 | enc_gzip:served | advertised=yes served=gzip bytes=339 |
| 01:39:35.276 | enc_br:served | advertised=yes served=br bytes=285 |
| 01:39:39.547 | js_page:fetched | HTML shell delivered |
| 01:39:49.070 | img_png:fetched | number=1023 bytes=1543 accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| 01:39:49.070 | cache_etag:unconditional | no If-None-Match sent |
| 01:39:49.074 | img_jpeg:fetched | number=2023 bytes=6393 accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| 01:39:49.074 | cache_heuristic:unconditional | no If-Modified-Since sent, and no Cache-Control/Expires was ever present to justify skipping it |
| 01:39:49.075 | cache_maxage:fetched | Cache-Control: max-age=3600 was served; repeat fetches indicate no caching |
| 01:39:49.079 | img_avif:fetched | number=4023 bytes=747 accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| 01:39:49.085 | img_webp:fetched | number=3023 bytes=714 accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" |
| 01:39:54.458 | redirect_302:hop | 3 hops remaining |
| 01:39:54.514 | redirect_302:hop | 2 hops remaining |
| 01:39:54.570 | redirect_302:hop | 1 hops remaining |
| 01:39:54.627 | redirect_302:completed | reached the end of the redirect chain |
| 01:39:59.733 | delay_body:abandoned | requested=20000ms gave_up_after=5269ms chunks=10 |
| 01:40:00.356 | delay_header:abandoned | requested=15000ms gave_up_after=5882ms |
6 request(s)
| Conn | JA4 | JA3 | JA3 hash | SNI | ALPN offered | ALPN negotiated | TLS negotiated | Highest offered | Cipher negotiated | GREASE | ECH | Cipher suites offered | Extensions in order | Supported groups | Signature algorithms |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #1 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,11-10-43-23-13-45-16-0-5-35-51,29-23-24,0 | 05263d1738ebf6caf79fba56ddeecaa3 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x000b ec_point_formats, 0x000a supported_groups, 0x002b supported_versions, 0x0017 extended_master_secret, 0x000d signature_algorithms, 0x002d psk_key_exchange_modes, 0x0010 alpn, 0x0000 server_name, 0x0005 status_request, 0x0023 session_ticket, 0x0033 key_share | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| #2 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,13-0-51-16-43-45-23-5-10-11-35,29-23-24,0 | a0d9b709d66d0ac6957488b54bdd8fb8 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x000d signature_algorithms, 0x0000 server_name, 0x0033 key_share, 0x0010 alpn, 0x002b supported_versions, 0x002d psk_key_exchange_modes, 0x0017 extended_master_secret, 0x0005 status_request, 0x000a supported_groups, 0x000b ec_point_formats, 0x0023 session_ticket | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| #3 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,35-0-13-43-16-23-10-11-5-51-45,29-23-24,0 | 0fa4c6b95a50c962d7b143284a2d8f33 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x0023 session_ticket, 0x0000 server_name, 0x000d signature_algorithms, 0x002b supported_versions, 0x0010 alpn, 0x0017 extended_master_secret, 0x000a supported_groups, 0x000b ec_point_formats, 0x0005 status_request, 0x0033 key_share, 0x002d psk_key_exchange_modes | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| #4 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,51-13-5-43-16-11-23-35-0-45-10,29-23-24,0 | 5f0755ed8e9c1ec4c3cb3eec881bdd0f | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x0033 key_share, 0x000d signature_algorithms, 0x0005 status_request, 0x002b supported_versions, 0x0010 alpn, 0x000b ec_point_formats, 0x0017 extended_master_secret, 0x0023 session_ticket, 0x0000 server_name, 0x002d psk_key_exchange_modes, 0x000a supported_groups | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| #5 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,23-16-13-11-10-45-5-51-43-0-35,29-23-24,0 | ce79ff78e763a033fc9824d3a5d5d0da | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x0017 extended_master_secret, 0x0010 alpn, 0x000d signature_algorithms, 0x000b ec_point_formats, 0x000a supported_groups, 0x002d psk_key_exchange_modes, 0x0005 status_request, 0x0033 key_share, 0x002b supported_versions, 0x0000 server_name, 0x0023 session_ticket | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| #6 | t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3 | 771,4866-4865-4867-49196-49195-52393-49200-49199-52392-255,5-11-13-35-0-23-16-10-43-45-51,29-23-24,0 | 69bc02ceb6811c15f44d0c4927980db5 | ai-tester.paulcalvano.com | h2, http/1.1 | h2 | TLS 1.3 | TLS 13 | TLS_AES_128_GCM_SHA256 | false | false | 0x1302 TLS_AES_256_GCM_SHA384, 0x1301 TLS_AES_128_GCM_SHA256, 0x1303 TLS_CHACHA20_POLY1305_SHA256, 0xc02c ECDHE_ECDSA_AES_256_GCM_SHA384, 0xc02b ECDHE_ECDSA_AES_128_GCM_SHA256, 0xcca9 ECDHE_ECDSA_CHACHA20_POLY1305, 0xc030 ECDHE_RSA_AES_256_GCM_SHA384, 0xc02f ECDHE_RSA_AES_128_GCM_SHA256, 0xcca8 ECDHE_RSA_CHACHA20_POLY1305, 0x00ff | 0x0005 status_request, 0x000b ec_point_formats, 0x000d signature_algorithms, 0x0023 session_ticket, 0x0000 server_name, 0x0017 extended_master_secret, 0x0010 alpn, 0x000a supported_groups, 0x002b supported_versions, 0x002d psk_key_exchange_modes, 0x0033 key_share | 0x001d x25519, 0x0017 secp256r1, 0x0018 secp384r1 | 0x0503 ecdsa_secp384r1_sha384, 0x0403 ecdsa_secp256r1_sha256, 0x0807, 0x0806 rsa_pss_rsae_sha512, 0x0805 rsa_pss_rsae_sha384, 0x0804 rsa_pss_rsae_sha256, 0x0601 rsa_pkcs1_sha512, 0x0501 rsa_pkcs1_sha384, 0x0401 rsa_pkcs1_sha256 |
| Conn | Fingerprint | Pseudo-header order | Header order | SETTINGS | Window update | Priority frames | First frame types |
|---|---|---|---|---|---|---|---|
| #1 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS | |
| #2 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS, SETTINGS | |
| #3 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS | |
| #4 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS | |
| #5 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS | |
| #6 | 2:0;4:2097152;5:16384;6:16384|5177345|0|m,s,a,p | :method,:scheme,:authority,:path | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | ENABLE_PUSH(2)=0, INITIAL_WINDOW_SIZE(4)=2097152, MAX_FRAME_SIZE(5)=16384, MAX_HEADER_LIST_SIZE(6)=16384 | 5177345 | SETTINGS, WINDOW_UPDATE, HEADERS |
| Conn | RTT | RTT var | Snd MSS | Rcv MSS | Adv MSS | Cwnd | Rcv space | Retransmits | Total retrans | Lost |
|---|---|---|---|---|---|---|---|---|---|---|
| #1 | 34.6ms | 5.8ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #2 | 35.8ms | 5.9ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #3 | 42.1ms | 11.9ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #4 | 34.8ms | 7.4ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #5 | 42.1ms | 11.9ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
| #6 | 34.3ms | 9.7ms | 1408 | 536 | 1408 | 10 | 14080 | 0 | 0 | 0 |
TTL, initial window and MSS come from the raw SYN packet -- the one layer a proxy fleet can't easily disguise, since it describes the kernel that opened the socket. Best-effort: requires a capture covering this connection's timestamp.
| Conn | TTL | Window size | MSS | Window scale | SACK permitted | Fingerprint | Pcap file |
|---|---|---|---|---|---|---|---|
| #1 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
| #2 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
| #3 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
| #4 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
| #5 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
| #6 | 123 | 62727 | 1460 | 7 | true | 123:62727:1460:7 | syn-20260914-151130.pcap |
Download raw capture: syn-20260914-151130.pcap
No self-report from this client. If it couldn't call /report itself, you can file one manually on its behalf.
Response headers are what the handler explicitly set. Content-Length and Date are added by Go's HTTP stack directly to the wire afterward and never pass back through the header map, so they don't appear here -- see Bytes for the actual byte count.
| Time | Method | Path | Proto | Status | Accept | Accept-Encoding | Served enc. | Bytes | Duration | Header order | Response headers |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 15:21:56.381 | GET | /t/7bbe1e183af0b6c6/delete | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 1363 | 47ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 15:24:32.270 | GET | /t/7bbe1e183af0b6c6/detail | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 49260 | 1693ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 16:06:49.529 | GET | /t/7bbe1e183af0b6c6/report-form | HTTP/2.0 | 404 | */* | gzip, br, zstd, deflate | 81 | 0ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Content-Type: text/plain; charset=utf-8; X-Content-Type-Options: nosniff | |
| 16:07:33.526 | GET | /t/7bbe1e183af0b6c6/results | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 7447 | 24ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 | |
| 16:08:19.157 | GET | /t/7bbe1e183af0b6c6/pcap/syn-20260914-010853.pcap | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 14704 | 0ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Accept-Ranges: bytes; Content-Disposition: attachment; filename="syn-20260914-010853.pcap"; Content-Length: 14704; Content-Type: application/vnd.tcpdump.pcap; Last-Modified: Mon, 14 Sep 2026 02:07:47 GMT | |
| 16:08:37.507 | GET | /t/7bbe1e183af0b6c6/pcap/syn-20260914-151130.pcap | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 3952 | 0ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Accept-Ranges: bytes; Content-Disposition: attachment; filename="syn-20260914-151130.pcap"; Content-Length: 3952; Content-Type: application/vnd.tcpdump.pcap; Last-Modified: Mon, 14 Sep 2026 16:08:19 GMT |