2026-09-06T00:57:26.000
The Shortest IPv6 Addresses
I was looking for the shortest possible IPv6 equivalent of 1.1.1.1 (and its secondary 1.0.0.1, sometimes abbreviate 1.1).
Method
An IPv6 address is 128 bits long, written as 8 hexadecimal groups of 16bits. The :: shorthand replaces a run of zeros. The shortest addresses are therefore those where only the first group is non-zero: X::.
Only the global unicast block 2000::/3 is actually usable. Every other block is reserved, unroutable, or too long to write out. Since we're looking at the first 16-bit block, that leaves us with 13 variable bits. Not a lot, I can just scan through those!
The script
For any script with fewer than 3 control structures, I tend to default to my shell of choice, fish.
for i in (seq 0 8192)
set ip_num (math 8192 + $i)
set current_ip (printf '%x::' $ip_num)
if ping -6 $current_ip -c 1 -W 0.7 &>/dev/null
echo $current_ip
end
end | tee result_ipv6
The results
Only 4 IPs responded to my pings.
| Address | RIR | Who | DNS? | Avg. response time |
|---|---|---|---|---|
2409:: | APNIC | Indian state government via the NKN | ✅ yes | 436ms |
2600:: | ARIN | Cogent (US-based ISP) | ❌ no | 173ms |
2a09:: | RIPE | xTom — for dns.sb | ✅ yes | 163ms |
2a11:: | RIPE | xTom — for dns.sb | ✅ yes | 161ms |
After re-running the script from a non-residential IP, I got 3 additional results:
| Address | RIR | Who |
|---|---|---|
2002:: | IANA | I have no idea why I'm getting a response. It's the 6to4 address corresponding to 0.0.0.0 |
2a12:: | RIPE | The info is a bit vague, but it's apparently Van Veen Beheer B.V. |
2c0f:: | AFRINIC | Satsoft CC, a South African telecommunications company |