demo · v139

Port Entropy Visualizer

Chrome 139 on Windows switches ephemeral port allocation from predictable sequential assignment to random sampling within the 49152–65535 range. Step through two simulations side by side, measure the information entropy per allocation, and try to predict the next port before it's revealed.

step 0 / 50

Sequential (old)

next port49152
entropy0.00 bits
used0 / 50

Predict next port

Randomized (Chrome 139)

last port
entropy14.00 bits
used0 / 50

Predict next port

Collision probability as ports accumulate

Birthday paradox: P ≈ k² / (2N) where k = ports in use, N = range size (16 384)

sequential — collision risk grows quadratically random — same math, but adversary can't exploit the curve

Entropy explained

Sequential allocation carries ≈ 0 bits of entropy once the starting port is known — each subsequent port is trivially predictable. An attacker forging RST packets only needs the source IP, destination, and current port counter.

Random allocation from a range of N = 16 384 carries log₂(16 384) = 14 bits of entropy per pick, forcing the attacker to try up to 16 k guesses per connection hijack attempt.

Sequential ≈ 0 bits per allocation
Randomised (Chrome 139) ≈ 14 bits per allocation

see also