Networking Tool · Retired

Ping

The original ping tool on this site sent ICMP echo requests from a shared server. Modern serverless platforms — including Cloudflare Workers, where this site now runs — don't expose raw sockets, so a real ping isn't possible from the edge. Here's how to do it properly today.

From the command line

Every operating system ships with a built-in ping:

ping example.com           # macOS, Linux
ping -c 5 example.com      # send 5 packets and stop (macOS, Linux)
ping example.com           # Windows (sends 4 by default)

For a richer view, mtr (My Traceroute) combines ping and traceroute and updates in real time:

mtr example.com            # macOS (brew install mtr), Linux
mtr -r -c 100 example.com  # report mode, 100 cycles

From a browser

Browsers can't send ICMP either, but you can approximate round-trip time with an HTTP probe. Useful for measuring whether a service is up and how slow it feels — not the same as ICMP RTT, but closer to what your real users see.

For multi-region probes, services like check-host.net and Uptrends ping from dozens of locations.

Why we can't host it here

ICMP echo (the protocol behind ping) needs raw socket access. Cloudflare Workers — and the equivalent platforms from Vercel, Netlify, AWS Lambda, Deno Deploy — only expose HTTP and (in some cases) TCP. ICMP isn't on the menu, by design: opening raw sockets to arbitrary IPs from a multi-tenant runtime would be a denial-of-service amplifier.

We could proxy to a small VPS that can ping, but results would only ever come from a single origin location — less useful than the multi-region probes above.

← All free SEO tools