Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
M

mtr

> 编程语言
Open source

Official repository for mtr, a network diagnostic tool

3.3K stars0 likes0 views
WebsiteGitHub

About

Official repository for mtr, a network diagnostic tool

WHAT IS MTR?

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. It sends probes to the destination with successively larger time-to-live values, and uses the responses from intervening routers to discover and measure the path. As it does this, it prints running statistics for each hop.

Intermediate routers may be configured to never send these ICMP responses, or may rate-limit them, so apparent loss at an intermediate hop does not always mean that forwarded traffic is being lost at that point.

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

INSTALLING

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 https://www.bitwizard.nl/mtr/files/ 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:

./bootstrap.sh && ./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 <host>) 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.

USING MTR ON WINDOWS

Using mtr on Windows requires Windows Subsystem for Linux (WSL).
To install WSL with Ubuntu distribution (Default), see How to install Linux on Windows with WSL.

After complete initial process, simple as:

sudo apt-get -y install mtr

BUILDING FOR WINDOWS (TRADITIONAL METHOD)

If you prefer traditional method. Obtain Cygwin, see https://cygwin.com/install.html.

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:

    ./bootstrap.sh && ./configure && make

Finally, install the built binaries:

    make install

WHERE CAN I GET THE LATEST VERSION OR MORE INFORMATION?

mtr is now hosted on github. https://github.com/traviscross/mtr

See the mtr web page at http://www.BitWizard.nl/mtr/

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.)

REW

GitHub Issues· 140 open

View all on GitHub
  • #653

    Implement RFC5837 (ICMP for Interface and Next-Hop Identification)

    Updated Sep 11, 2026
  • #652

    Multiple --ipinfo

    Updated Aug 31, 2026
  • #651

    Add comment support for --filename files

    Updated Aug 31, 2026
  • #74

    histograms like in prettyping/liboping

    Updated Mar 16, 2026
  • #433

    How to specify local port for tcp protocol

    Updated Jan 29, 2026
  • #321

    IPv6 link-local addresses don't work

    Updated Dec 10, 2025
  • #559

    Use -l (raw mode) same as -p (split) mode

    Updated Nov 4, 2025
  • #556

    Rewrite the "output display" functions/system to be more modular.

    Updated Nov 3, 2025
  • #308

    Feature Request for Split Mode & Android non-interactive support

    Updated Nov 3, 2025
  • #402

    mtr: mtr-packet reported invalid argument in ISH

    Updated Oct 22, 2025

Highlights

  • •C

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言