IPASK
Articles · technical

TCP fingerprinting and port scans: what they can and cannot tell you about a proxy

TCP/IP stack fingerprints, open proxy ports and their limits — and why an HTTP-side check cannot replace them.

2026-10-28 technical #tcp#fingerprint#proxy
TCP fingerprinting and port scans: what they can and cannot tell you about a proxy

What the old tools did

Tools like p0f classify an operating system from TCP/IP header details: initial TTL, window size, options order, MSS. A proxy relaying traffic can leave a stack signature that differs from the browser's claimed OS.

Port scans add another signal: open 8080 / 3128 / 1080 suggests a proxy daemon, and a transparent proxy often leaves distinctive headers.

Why it is weaker than it sounds

  1. Middleboxes rewrite headers. NAT, load balancers and CDNs normalise TTL and options; the original fingerprint disappears.
  2. The stack may be the proxy's, not the user's. A residential proxy can run on a normal Linux host with a plausible stack — and many modern proxies use TLS termination that hides everything.
  3. HTTP-only checks cannot see it. From a web request you get headers, not SYN packets. Anything claiming a TCP fingerprint from an HTTP call is guessing.
  4. False positives are common. Mobile networks and CGNAT mangle stacks; a mismatch does not imply a proxy.

Where it still helps

What we do instead

Our verdict uses what can be observed from data plus the request itself: ASN type, hosting/CDN flags, Tor exit list, and the browser consistency checks. We do not claim TCP fingerprints we cannot see. If a vendor tells you they fingerprint TCP from a browser API call, ask them which packets they captured.

Check a batch before you buy? Check a batch →