Networking Tool · Retired

Traceroute

Traceroute maps the network path to a host by sending packets with increasing TTL values and listening for the ICMP responses that come back when each hop drops them. It needs raw socket access — something Cloudflare Workers (where this site now runs) don't provide, by design. Here's how to do it properly today.

From the command line

traceroute example.com           # macOS, Linux
traceroute -n example.com        # don't reverse-resolve (faster)
tracert example.com              # Windows

On flaky paths, mtr gives a much more useful picture — it loops continuously and shows packet loss and jitter at every hop:

mtr example.com                  # macOS (brew install mtr), Linux
mtr -r -c 100 example.com        # report mode, 100 cycles
mtr -r -c 100 -T -P 443 host.com # TCP probes against port 443

From a browser

For a multi-region path map without installing anything, RIPE Atlas / NCC's looking glass, looking.house, and check-host.net all run traceroute from real measurement nodes in dozens of countries. Pick one near your audience.

Why we can't host it here

Traceroute requires sending UDP/ICMP packets with custom TTL values and reading the ICMP "time exceeded" responses that bounce back. Serverless platforms — Cloudflare Workers, Vercel, Lambda, Deno Deploy — only expose HTTP (and on Workers, plain TCP via the sockets API). Raw IP/ICMP sockets aren't available on any of them, because letting arbitrary tenant code talk directly to IP would be a network-abuse magnet.

We could proxy to a VPS, but a single-location traceroute is rarely what you actually want — the multi-region tools above are strictly more useful.

← All free SEO tools