mtr  0.95
About: MTR combines the functionality of the "traceroute" and "ping" programs in a single network diagnostic tool.
  Fossies Dox: mtr-0.95.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

mtr Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies mtr-0.95.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).


mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.

As mtr starts, it investigates the network connection between the host mtr runs on and a user-specified destination host. After it determines the address of each network hop between the machines, it sends a sequence of ICMP ECHO requests to each one to determine the quality of the link to each machine. As it does this, it prints running statistics about each machine.

mtr is distributed under the GNU General Public License version 2. See the COPYING file for details.


If you're building this from a tarball, compiling mtr is as simple as:

./configure && make

Please note that this refers to the tarballs from and not the tarballs that github can produce.

(in the past, there was a Makefile in the distribution that did the ./configure for you and then ran make again with the generated Makefile, but this has suffered some bitrot. It didn't work well with git.)

If you're building from the git repository, you'll need to run:

./ && ./configure && make

When it looks as if the compilation was successful, you can test mtr with

sudo ./mtr <host>

(fill in a hostname or IP address where it says ) or immediately continue on to installing:

make install

Note that mtr-packet must be suid-root because it requires access to raw IP sockets. See SECURITY for security information.

Older versions used to require a non-existent path to GTK for a correct build of a non-gtk version while GTK was installed. This is no longer necessary. ./configure --without-gtk should now work. If it doesn't, try make WITHOUT_X11=YES as the make step.

On Solaris, you'll need to use GNU make to build. (Use gmake rather than make.)

On Solaris (and possibly other systems) the "gtk" library may be installed in a directory where the dynamic linker refuses to look when a binary is setuid. Roman Shterenzon reports that adding -Wl,-rpath=/usr/lib to the commandline will work if you are using gnu LD. He tells me that you're out of luck when you use the sun LD. That's not quite true, as you can move the gtk libraries to /usr/lib instead of leaving them in /usr/local/lib. (when the ld tells you that /usr/local/lib is untrusted and /usr/lib is trusted, and you trust the gtk libs enough to want them in a setuid program, then there is something to say for moving them to the "trusted" directory.)

Building on MacOS should not require any special steps.


Building for Windows requires Cygwin. To obtain Cygwin, see Next, re-run cygwin's setup-x86.exe (or setup-x86_64.exe if you're using 64bit cygwin) with the following arguments, which will install the packages required for building:

    setup-x86.exe --package-manager --wait --packages automake,pkg-config,make,gcc-core,libncurses-devel,libjansson-devel

Build as under Unix:

    ./ && ./configure && make

Finally, install the built binaries:

    make install


mtr is now hosted on github.

See the mtr web page at

Bug reports and feature requests should be submitted to the Github bug tracking system.

Patches can be submitted by cloning the Github repository and issuing a pull request, or by email to me. Please use unified diffs. Usually the diff is sort of messy, so please check that the diff is clean and doesn't contain too much of your local stuff (for example, I don't want/need the "configure" script that /your/ automake made for you).

(There used to be a mailinglist, but all it got was spam. So when the server was upgraded, the mailing list died.)