Diagnosing Network Path Issues on Linux with mtr

mtr (My TraceRoute) combines ping and traceroute into one continuously updating tool — genuinely more useful than either alone for diagnosing exactly where along a network path a problem is occurring.

# Interactive mode, continuously updating
mtr example.com

# A single report, useful for logging or sharing with a network provider
mtr -r -c 100 example.com > mtr-report.txt

# Show numeric IPs instead of resolving hostnames (faster, sometimes clearer)
mtr -n example.com

Reading the Output

Each hop along the path shows loss percentage, average latency, and jitter (variation) — a hop showing packet loss that doesn’t propagate to later hops (i.e., the destination itself shows no loss) usually indicates that specific router deprioritizes ICMP traffic for its own purposes, not a genuine connectivity problem worth worrying about. Loss that persists through to the final destination is the real signal to investigate.

Why It Beats Plain traceroute

A single traceroute run only shows one snapshot in time — mtr‘s continuous sampling reveals intermittent issues (a flaky hop that only drops packets occasionally) that a one-shot traceroute would likely miss entirely, since it only sends one or a few probes per hop.