A common assumption about internet blocking is that a censor keeps a list of banned websites and drops anything headed for them. That was roughly true in 2005. It has not been true for a long time.
Modern filtering systems are not primarily interested in where your traffic is going. They are interested in what it looks like — and a standard VPN connection looks like almost nothing else on the internet.
Layer one: the address list
The simplest control is still the most common. A censor obtains the server addresses of a VPN provider — often just by signing up for the service — and blocks them.
This is cheap and it works against providers who publish a static server list and never rotate it. It is also the layer that ordinary users notice first: the app connects for a week, then one morning it does not.
The countermeasure is unglamorous. Providers rotate addresses, keep reserve pools that are never published, and hand out entry points that were not in the app bundle that got scraped. It is an arms race decided by logistics rather than cryptography.
Layer two: protocol fingerprinting
This is where it gets interesting, and where most VPNs actually die.
Deep packet inspection means the filtering equipment looks inside the packet rather than only at the address on the envelope. It does not need to decrypt anything, because encrypted protocols are still highly distinctive in their unencrypted parts — the handshake, the packet sizes, the timing, the byte patterns at the start of a connection.
Several things give a conventional VPN away immediately:
- Handshake structure. Classic VPN protocols open with a recognisable, fixed sequence. It is effectively a signature at the front of every connection.
- Packet size distributions. Tunnelled traffic has a characteristic shape, because an outer packet is wrapping inner packets and the arithmetic leaves a fingerprint.
- Unusual ports and unusual ratios. A long-lived, high-volume, symmetric connection to a single address does not resemble normal web browsing, which is bursty and spread across many hosts.
- TLS fingerprints. Even a VPN pretending to be HTTPS announces a specific list of ciphers and extensions in its handshake. Real browsers announce a different, well-known list. Comparing the two is trivial and completely reliable.
A filtering system does not need to know which provider you are using. It only needs to conclude "this is a tunnel" and act.
Layer three: active probing
The most sophisticated deployments do not just watch. They interrogate.
If a connection looks suspicious, the system records the destination address and port, and then — often seconds or minutes later — connects to that address itself from an unrelated network. It sends fragments of the handshake it observed, or simply malformed noise, and studies the response.
A misconfigured proxy answers. It says something protocol-specific, or fails in a distinctive way, or accepts the connection when a real web server would have rejected it. That response confirms what the server is, and the address goes on the block list — sometimes for everyone, permanently.
This technique has been documented extensively against several popular circumvention tools, and it is why "just run it on port 443" stopped being sufficient. The port is not the tell. The behaviour is.
What stealth protocols actually do
Obfuscated or "stealth" transports are built around a single objective: leave the censor with no positive signal to act on.
Look exactly like something ordinary. Not vaguely like HTTPS — precisely like it, down to the cipher list and extension ordering a real browser would send. If the fingerprint matches a common browser talking to a common web server, distinguishing it requires blocking the legitimate case too.
Remove structure from the wire. Randomising the initial bytes and padding packet lengths breaks the size-and-timing signature that makes tunnels identifiable, at a small cost in efficiency.
Refuse to answer strangers. The countermeasure to active probing is authentication before any protocol-specific response. An unauthenticated prober must receive exactly what a boring web server would return, or a silent drop. Nothing that confirms anything.
Stay unpredictable at the edges. Rotating entry points, non-published address pools, and multiple transport options mean the block list is stale as soon as it is compiled.
The economic logic underneath all of this is collateral damage. A censor can always block everything and win — but a country that breaks banking, logistics and video calls pays a price it usually is not willing to pay. Effective circumvention works by making "block this" and "break the economy" the same decision.
What this means in practice
If you are choosing a tool for a restrictive network — a national firewall, a corporate filter, a hotel that blocks anything it cannot classify — the useful questions are narrow:
- Does it offer an obfuscated or stealth transport, not just standard protocols?
- Does it rotate entry points, or ship one static list that has certainly been scraped?
- Does it resist active probing, or answer anything that knocks?
- Does the provider keep no session logs? A tunnel that defeats the censor while retaining a complete record of your activity has moved the risk, not removed it. RAM-only infrastructure that cannot retain what it never wrote to disk is the meaningful version of this claim.
And one thing worth being honest about: no protocol is permanently invisible. Detection improves, obfuscation adapts, and anything sold as a final answer is marketing. What a well-built stealth protocol buys is a genuine advantage in an ongoing contest — high enough cost to the censor, and low enough distinctiveness on the wire, that blocking you means blocking the ordinary internet along with you.
That is the entire game. Not invisibility. Indistinguishability.