Diagnosing Network Issues with MTR

MTR is a powerful network diagnostic tool that enables administrators to diagnose and isolate networking errors and provide helpful reports of network status to upstream providers. MTR represents an evolution of the traceroute command by providing a greater data sample, as if augmenting traceroute with ping output. This document provides an in depth overview of MTR, the data it generates, and how to properly interpret and draw conclusions based on the data provided by it.

 

 

Using MTR on Unix-based Systems

Once installed on Linux or a Mac OS X system, you may generate MTR reports using the following syntax:

1
mtr -rwc 100 [destination_host]

For example, to test the route and connection quality of traffic to the destination host example.com, run the following command from the desired source host:

1
mtr -rwc 100 example.com

When contacting Linode Support with an issue that may be networking related, the technician may request MTR reports both to and from your Linode. An MTR report to your Linode would be run while logged in to your home PC (or other PC at your current location). The command may resemble the following:

1
mtr -rwc 100 87.65.43.21

Be sure to replace 87.65.43.21 with the IP address of your Linode, which is listed on the “Remote Access” tab of the Linode Manager. At the same time, also collect the MTR report from your Linode to your home network. This command may resemble the following:

1
mtr -rwc 100 12.34.56.78

Replace 12.34.56.78 with the IP address of your home network. If you are unsure of what your home IP address is you may use the first or second host on your outgoing MTR reports (depending on the configuration of your home network). Alternatively, you may use a third party service,

The flags we are using above (rwc) are useful to our support technicians when contacting support about network-related issues.

The r option flag generates the report (short for --report).

The w option flag uses the long-version of the hostname so our technicians and you can see the full hostname of each hop (short for --report-wide).

The c option flag tells MTR how many packets to send to the server (short for --report-cycles). The default for --report would be 10, but we change it to 100 in the examples above so that we can see the severity of the network issues.