8ab5c2b9e265dbff — PerplexityServer-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 AI agents only. Excluded as non-AI (browsers, curl, unrecognized): 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. Show all clients
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 | 35.1ms | - |
| Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 1 | 1 | 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 | 30.0ms | - |
1 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,43-10-45-13-23-0-51-5-16-11-35,29-23-24,0 | 447774a70dc04f0bab6bdb1b0c7bcf07 | 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 | 0x002b supported_versions, 0x000a supported_groups, 0x002d psk_key_exchange_modes, 0x000d signature_algorithms, 0x0017 extended_master_secret, 0x0000 server_name, 0x0033 key_share, 0x0005 status_request, 0x0010 alpn, 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 |
| 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, SETTINGS, WINDOW_UPDATE, HEADERS |
| Conn | RTT | RTT var | Snd MSS | Rcv MSS | Adv MSS | Cwnd | Rcv space | Retransmits | Total retrans | Lost |
|---|---|---|---|---|---|---|---|---|---|---|
| #1 | 30.0ms | 5.0ms | 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 |
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:22:05.929 | GET | /t/8ab5c2b9e265dbff/delete | HTTP/2.0 | 200 | */* | gzip, br, zstd, deflate | 1349 | 0ms | :method, :scheme, :authority, :path, accept, user-agent, accept-encoding | Cache-Control: no-store; Content-Type: text/html; charset=utf-8 |