Mtr developer's site: http://www.bitwizard.nl/mtr/


Combining the functionality of ping and traceroute, mtr allows you to constantly poll a remote server and see how the latency and performance changes over time.

Unlike traceroute, mtr is not installed by default on most systems. You can get it by typing the following commands.


Ubuntu/Debian:


sudo apt-get install mtr


CentOS/Fedora:


yum install mtr


Arch:


pacman -S mtr


Once it is installed, you can call it by typing:


mtr google.com
                       My traceroute  [v0.80]
traceroute (0.0.0.0)                        Tue Oct 22 20:39:42 2013
Resolver: Received error response 2. (server failure)er of fields   q
uit                         Packets               Pings
 Host                     Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.241.160.253        0.0%   371    0.4   0.6   0.1  14.3   1.0
 2. 192.241.164.241        0.0%   371    7.4   2.5   0.1  37.5   4.8
 3. xe-3-0-6.ar2.nyc3.us.  2.7%   371    3.6   2.6   1.1   5.5   1.1
 4. sl-gw50-nyc-.sprintli  0.0%   371    0.7   5.0   0.1  82.3  13.1



While the output may look similar, the big advantage over traceroute is that the output is constantly updated. This allows you to accumulate trends and averages, and also allows you to see how the network performance varies over time.

If you ran a traceroute, there is a possibility that the packets that were sent to each hop happened to make the trip without incident, even in a situation where the route is suffering from intermittent packet loss. The mtr utility allows you to monitor for this situation by gathering data over a wider range of time.


It is also possible to run mtr with the --report option, which returns the results of sending 10 packets to each hop.


mtr --report google.com
HOST: traceroute                  Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.241.160.254            0.0%    10    1.5   0.9   0.4   1.5   0.4
  2.|-- 192.241.164.237            0.0%    10    0.6   0.9   0.4   2.7   0.7
  3.|-- nyk-b6-link.telia.net      0.0%    10    0.5   0.5   0.2   0.7   0.2
  4.|-- nyk-bb2-link.telia.net     0.0%    10   67.5  18.5   0.8  87.3  31.8


This can be useful when you don't necessarily want to measure in real-time, but you want a greater range of data than traceroute provides.