Reading a traceroute and a ping: what the numbers say, and what they do not

When support asks for a traceroute, it is not red tape. It is the only way to see the path between your computer and the server, and that is a path we cannot see from here. But the outputs almost always arrive with the wrong interpretation stapled to them.

This article teaches you to read them. Above all, it teaches you what they do not prove, which is the part that costs people afternoons.

How to run them, on each system

System Traceroute Ping
Windows tracert yourdomain, in Command Prompt or PowerShell. ping -n 20 yourdomain. Without -n, Windows sends only a few and stops.
macOS traceroute yourdomain, in Terminal. ping -c 20 yourdomain. Without -c, it never stops on its own.
Linux traceroute yourdomain. On many distributions it is not installed by default and has to be added. ping -c 20 yourdomain.
Run both, and run them from the network where the problem shows. A traceroute taken at home says nothing about the office. And run one to an address you know is healthy: without something to compare against, the numbers mean nothing.

What a hop is

Between you and the server sits a queue of equipment: your router, the provider’s, the ones joining countries, and finally our end. Each one is a hop. Traceroute sends packets with a longer and longer life: the first dies at hop 1 and whoever killed it identifies itself, the second dies at hop 2, and so on. That is how the path gets drawn.

Each line normally carries three times, because each hop is measured three times. They are round trip times to that piece of equipment, not the time your site takes to load.

The three most common misreadings

What you see What most people conclude What it really is
A hop showing * * * “The connection breaks here.” Usually nothing breaks at all. Plenty of equipment is configured not to answer this kind of packet, by policy or for security. If the following hops answer, that hop forwarded everything perfectly and simply declined to talk about itself.
One very high time in the middle “That is where the congestion is.” Answering a traceroute is a router’s lowest priority job: real traffic gets served first. A spike in a middle hop, with normal hops after it, affects nobody. Only the last hop counts.
The traceroute never reaches the end “The server is down.” It may simply not answer this kind of packet, which is a legitimate and common choice. Proof that the site is serving comes from somewhere else: see below.

And there is an asymmetry almost nobody accounts for: the return path may be a different one. Traceroute only draws the way out. A high time can be caused by a return trip that never appears in the list.

What ping says, and what it does not

Ping measures two things, and the second is the one that matters:

1 The average time. Mostly a function of distance and hop count. A higher figure to a server further away is physics, not a fault. Where our servers are is covered in uptime.
2 Packet loss and jitter. This is the useful part. Twenty pings whose times jump around, or that lose packets, point at an unstable link. Twenty pings all alike, even if high, are a healthy link that happens to be far away.
3 The address ping resolved. The first line shows which IP the name pointed to. If it is not the one you expect, the problem is DNS and not the network: see how to check a domain DNS.
No answer to ping does not mean the site is down. Answering pings is a separate service from serving pages. A server can be serving the site perfectly while ignoring pings, by configuration choice. The opposite happens too: it answers pings and the site is dead.

What actually proves the site is serving

Only a request on the right port. These two work on any system and are worth more than the whole traceroute:

1 curl -I https://yourdomain. If headers come back, the server answered and the network reaches it.
2 If nothing comes back, follow when the error is not the server’s, which deals with exactly these cases.
3 If it returns a number starting with 5, the path is fine and the problem is elsewhere: error 503 and the rest of the 5xx family.
4 If your integration hangs with no error, it may be a port rather than the path: which ports are open.

What to send us

1 The complete output, as text, start to finish. Trimming the middle lines removes precisely what we need to see.
2 The exact time you ran it. Without a time we cannot line it up against the server logs.
3 Which network you ran it from, and your public IP address: how to find your public IP address.
4 If you can, the same thing from another network. Two different outputs are worth more than ten identical ones.
Text, not a photo of the screen. A text output can be searched and compared; an image has to be retyped, and addresses get retyped wrong.

Got the traceroute? Send the whole thing, with the time and the network.

Open a support ticket

SEE ALSO

Support Policy

Contact

Frequently asked questions

RECOMMENDED PRODUCT

Web hosting with cPanel

Domain and SSL included, daily backups and the panel you already know. from $9.99/mo

See plans
  • 0 Users Found This Useful
Was this answer helpful?