📖 ANNOTATED TRACEROUTE OUTPUT MAIN FEATURE

This is a real-world traceroute to devdunia.com (185.199.108.153). Each row is one router hop. The color tells you what kind of network segment you're crossing and whether latency is normal.

traceroute to devdunia.com (185.199.108.153), 30 hops max, 60 byte packets 1 _gateway (192.168.1.1) 1.823 ms 1.654 ms 1.892 ms 2 10.20.0.1 (10.20.0.1) 8.432 ms 9.123 ms 8.654 ms 3 * * * 4 203.0.113.10 (isp-core-01.example-isp.net) 18.234 ms 17.891 ms 18.445 ms 5 72.14.215.1 (108.170.246.161) 22.109 ms 21.876 ms 22.345 ms 6 * * * 7 209.85.240.1 (209.85.252.120) 25.678 ms 26.234 ms 25.987 ms 8 cdn-185-199-108-153.github.com (185.199.108.153) 31.456 ms 30.987 ms 31.123 ms
HOP HOSTNAME IP ADDRESS RTT 1 RTT 2 RTT 3 ANNOTATION
1 _gateway 192.168.1.1 1.823ms 1.654ms 1.892ms 🏠 HOME ROUTER Your WiFi/cable router. Always hop 1. <5ms is perfect — anything over 10ms here suggests WiFi interference.
2 10.20.0.1 10.20.0.1 8.432ms 9.123ms 8.654ms 📡 ISP FIRST HOP CGNAT device or your ISP's local aggregation router. 10.x.x.x is a private IP — typical for ISP CGNAT infrastructure.
3 (filtered) * * * 🚫 ICMP BLOCKED Router exists but drops ICMP probes. NOT a problem — traffic is flowing (hop 4 responds). Firewalls block ICMP by design.
4 isp-core-01.example-isp.net 203.0.113.10 18.234ms 17.891ms 18.445ms 🖧 ISP BACKBONE ISP core/backbone router. The jump from ~8ms to ~18ms means we crossed an ISP backbone segment — normal for regional routing.
5 108.170.246.161 72.14.215.1 22.109ms 21.876ms 22.345ms 🌐 PEERING POINT Transit/peering router where ISPs exchange traffic. 72.14.x.x belongs to Google's AS15169 — we've entered Google's network. RTT increase is minimal: good peering!
6 (filtered) * * * 🚫 ICMP BLOCKED Another filtered hop — completely normal inside CDN/cloud networks. Hop 7 responds, so traffic IS flowing. These stars are not packet loss.
7 209.85.252.120 209.85.240.1 25.678ms 26.234ms 25.987ms ☁️ CDN EDGE Google/CDN edge network router. 209.85.x.x is Google's backbone. We're close to the CDN PoP that serves the destination.
8 cdn-185-199-108-153.github.com 185.199.108.153 31.456ms 30.987ms 31.123ms 🏆 DESTINATION! GitHub Pages CDN endpoint. Total 8 hops, ~31ms round-trip = EXCELLENT. Reverse DNS confirms it's GitHub's CDN serving your page.
📊 READING THE COLUMNS
Hop number — TTL value that was used for this probe (1, 2, 3...). Each router decrements TTL.
Hostname — Reverse DNS of the router's interface IP (if available). Not always set — many routers skip rDNS.
IP Address — The actual IP of the router's interface that sent back the ICMP Time Exceeded message.
RTT 1/2/3 — Three separate probe packets sent. Compare them: consistent values = stable path, big variation = congestion or route flapping.
🔴 UNDERSTANDING * * * (THREE STARS) COMMON CONFUSION
*     *     *

Three stars are the most misunderstood part of traceroute output. Here's the truth:

❌ COMMON MISCONCEPTION

"Stars mean the network is down or packets are being dropped. Something is broken!"

This is wrong. Stars by themselves tell you nothing about whether your connection works.

✅ THE REAL MEANING

Stars mean that router didn't respond to the ICMP TTL-exceeded probe within the timeout. The router may have silently dropped the probe, or its firewall blocks ICMP responses entirely.

Pattern What it means Action needed?
3 * * *
4 router (x.x.x.x) 20ms
Hop 3 blocks ICMP, but hop 4 responds — traffic IS flowing through hop 3 ✅ NO — completely normal
5 * * *
6 * * *
7 * * *
...(all remaining)
All hops from #5 onward show stars — the path stops here. Either a real outage or a strict firewall ⚠ INVESTIGATE — try TCP traceroute
1 router 1ms
2 * * *
3 * * *
4 destination 30ms
Multiple consecutive stars in the middle — but destination responds fine ✅ NO — destination is reachable

ICMP Time Exceeded messages can be used for network reconnaissance — they reveal internal IP addresses of routers. Many enterprise firewalls, cloud providers, and CDNs block outbound ICMP Time Exceeded to prevent disclosing their internal network topology. Load balancers (like AWS ELB or Cloudflare) also commonly show stars.

💡 The golden rule: If the next hop after the stars responds, or if the final destination responds — your connection is fine. Stars in the middle of a working trace are normal. Only worry when stars appear at the end and the destination is unreachable.
⏱️ READING RTT VALUES LATENCY GUIDE

Each hop shows three RTT measurements (Round-Trip Time) — three separate UDP/ICMP probe packets sent one after another. Here's how to interpret them:

< 5ms
EXCELLENT — Same local network, your home router or nearby switch
5 – 20ms
GREAT — Within your ISP's local network, city-level routing
20 – 50ms
GOOD — Cross-city or cross-region within the same country
50 – 100ms
ACCEPTABLE — Cross-country routing, different ISP backbone
100 – 200ms
HIGH — Cross-ocean (e.g. US → Europe). Expected for intercontinental.
> 200ms
INVESTIGATE — High latency, suboptimal routing, or congestion

✅ CONSISTENT
18.234 ms 18.001 ms 18.445 ms

All three values close together — stable, uncongested path. This is ideal.

⚠ JITTER
18.234 ms 42.001 ms 19.445 ms

Middle value is much higher — jitter. Indicates congestion or QoS shaping on that hop.

🚨 HIGH JITTER
18.234 ms * 155.445 ms

One probe timed out, one very high — router rate-limits ICMP responses (lower priority traffic).

💡 PRO TIP — RTT can appear to DECREASE
Sometimes a later hop shows lower RTT than an earlier one. This happens when intermediate routers deprioritize ICMP and reply slowly, while the next router responds promptly. The actual packet delivery time keeps increasing — the displayed RTT is just the ICMP response time for each router's management plane, not the data path latency.
🖥️ PLATFORM COMMANDS CHEAT SHEET

The command is named differently on Windows (tracert) vs Linux/macOS (traceroute), but they do the same thing.

🐧 Linux / 🍎 macOS
Basic traceroute:
traceroute devdunia.com
Limit to 15 hops (faster):
traceroute -m 15 devdunia.com
Use ICMP instead of UDP:
traceroute -I devdunia.com
TCP traceroute (bypasses firewalls):
traceroute -T -p 80 devdunia.com
Don't resolve hostnames (faster):
traceroute -n devdunia.com
🖼️ Windows (tracert)
Basic traceroute (Windows name):
tracert devdunia.com
Limit to 15 hops:
tracert -h 15 devdunia.com
Don't resolve hostnames (faster):
tracert -d devdunia.com
Set wait time (ms per probe):
tracert -w 2000 devdunia.com
Pathping (Windows hybrid tool):
pathping devdunia.com
🚀 mtr — My TraceRoute (Advanced)
Install mtr (Linux):
sudo apt install mtr
Live continuous traceroute + stats:
mtr devdunia.com
Generate one-shot report:
mtr --report devdunia.com
TCP mode (bypass firewalls):
mtr --tcp --port 443 devdunia.com

⭐ mtr combines traceroute + ping into a live updating display showing packet loss % and average RTT per hop over time. Far superior for diagnosing intermittent issues.

🔒 TCP Traceroute — Bypass Firewalls
TCP on port 80 (HTTP):
traceroute -T -p 80 devdunia.com
TCP on port 443 (HTTPS):
traceroute -T -p 443 devdunia.com
Using tcptraceroute (if installed):
tcptraceroute devdunia.com 443
Install tcptraceroute:
sudo apt install tcptraceroute

💡 When UDP/ICMP traceroute shows all stars but the site loads fine, use TCP traceroute — firewalls often block UDP/ICMP but allow TCP on port 80/443.

🧠 HOW TRACEROUTE WORKS — THE TTL TRICK DEEP DIVE

traceroute is a clever hack. It exploits the IP TTL (Time To Live) field — a counter in every IP packet that prevents infinite routing loops. Here's the trick:

1

Send probe with TTL=1 — traceroute sends a UDP packet (or ICMP/TCP depending on flags) to the destination with TTL set to 1. The very first router your packet hits (your home gateway) decrements TTL from 1 to 0. When TTL hits zero, the router must discard the packet and send back an ICMP Time Exceeded message to the sender. That message comes from the router's own IP — so we've discovered hop 1's address and measured the round-trip time!

2

Send probe with TTL=2 — next probe has TTL=2. Router 1 decrements to 1 and forwards it. Router 2 decrements to 0 and sends back ICMP Time Exceeded — revealing hop 2's address and RTT. traceroute increments TTL by 1 each time: TTL=1, TTL=2, TTL=3 ... until the destination is reached.

3

Three probes per hop — traceroute sends 3 probe packets at each TTL value (the three RTT columns you see). This gives you a better picture of latency consistency and packet loss. If one probe times out (no ICMP reply within the timeout), that position shows *.

4

Destination finally responds — when the probe finally reaches the destination with TTL still > 0: UDP mode: the target sends back ICMP Port Unreachable (because the target UDP port is closed). ICMP mode: target sends back ICMP Echo Reply. TCP mode: target sends back TCP RST or SYN-ACK. traceroute detects this "destination reached" response and stops.

5

Why does the output show the complete path? — by the time traceroute is done, it has collected one router IP per TTL value — forming a complete map of the network path from your machine to the destination. This is the "route" that traceroute draws. If traffic follows asymmetric routes (different path outbound vs inbound), you only see the outbound path — the ICMP replies may come back on a completely different route.


Your machine ─── TTL=1 ──▶ Router 1 (TTL→0) ◀── ICMP Time Exceeded ── Hop 1 discovered! Your machine ─── TTL=2 ──▶ Router 1 (TTL→1) ──▶ Router 2 (TTL→0) ◀── ICMP Time Exceeded ── Hop 2 discovered! Your machine ─── TTL=3 ──▶ Router 1 ──▶ Router 2 ──▶ Router 3 (TTL→0) ◀── ICMP Time Exceeded ── Hop 3! Your machine ─── TTL=8 ──▶ ... hops 1–7 ... ──▶ DESTINATION (TTL>0) ◀── Port Unreachable / RST ── Done!
TTL vs Hop Count

TTL starts at 64 (Linux), 128 (Windows), or 255 (some routers). Each router decrements by 1. The TTL you see in the destination's packets tells you roughly what OS the target runs: 64 - hops ≈ Linux/macOS, 128 - hops ≈ Windows.

Asymmetric Routing

Network traffic often takes a different path from A→B versus B→A. traceroute only shows the forward path. RTT increases you see include the return path, which may cross different routers entirely.

Default Max Hops: 30

traceroute stops after 30 hops by default. If the destination still hasn't responded, it gives up. Real internet paths rarely exceed 20 hops — 30 is plenty for almost all destinations.

UDP vs ICMP vs TCP

Linux traceroute uses UDP by default (high port). macOS uses ICMP. Windows tracert uses ICMP. TCP mode (-T) is best for penetrating firewalls because TCP port 80/443 is almost always allowed.