Das bessere traceroute heißt mtr. Dabei bedienen sich beide Tools desselben Tricks: Sie verschicken ICMP-Pakete (ping) mit schrittweise ansteigenden Time-to-Live-Werten (TTL). Jeder Router entlang des Wegs subtrahiert 1 vom TTL-Wert. Erreicht die Differenz dabei Null, gibt der Router eine Fehlermeldung aus: "Time to live exceeded in transit".
Traceroute beginnt also mit einer TTL von 1 und erhält die erwähnte Fehlermeldung vom ersten Router, weil dessen Rechnung TTL-1 Null ergibt. Seine Antwortzeit wird registriert und ausgegeben. Beim nächsten Versuch startet es mit einer TTL=2 und erkennt so den zweiten Router in der Kette an der Fehlermeldung und reportiert dessen Antwortzeit. Es folgt TTL=3 und so weiter, bis der angepingte Zielrechner erreicht ist.
Allerdings können die einmalig erhobenen Latenzwerte bei traceroute zufällige Verzerrungen enthalten. Deshalb begnügt sich mtr im Unterschied dazu nicht mit einem Durchlauf, sondern beginnt automatisch immer wieder von vorn und aktualisiert seine Messwerte fortlaufend. Alternativ kann man mit -c eine Obergrenze für die Anzahl der Versuche angeben und mit -r einen Report erstellen lassen, der Minimum, Maximum, Mittelwert und Standardabweichung enthält:
root@hercules:~# mtr -r -c 10 www.admin-magazin.de HOST: hercules Loss% Snt Last Avg Best Wrst StDev 1.|-- 192.168.111.254 0.0% 10 0.4 0.4 0.3 0.4 0.0 2.|-- welcome.ntm-gmbh.de 0.0% 10 0.9 0.8 0.6 1.1 0.2 3.|-- host-93-104-204-9.custome 0.0% 10 3.5 2.5 1.5 3.5 0.7 4.|-- xe-1-1-0.r3.muc7.m-online 0.0% 10 3.0 2.9 2.1 4.1 0.7 5.|-- xe-9-0-0.bar1.Munich1.Lev 0.0% 10 3.5 2.9 2.2 4.0 0.6 6.|-- ae-0-11.bar2.Munich1.Leve 0.0% 10 3.3 3.0 2.3 4.1 0.6 7.|-- ae-18-18.ebr2.Berlin1.Lev 0.0% 10 12.9 15.1 11.8 19.6 3.0 8.|-- ae-4-4.car2.Munich1.Level 0.0% 10 22.6 22.7 22.2 23.1 0.3 9.|-- ae-11-11.car1.Munich1.Lev 0.0% 10 30.8 23.3 21.6 30.8 2.7 10.|-- www.admin-magazin.de 0.0% 10 21.6 22.7 21.6 23.9 0.8