|
Packit |
b802ec |
WHAT IS MTR?
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
mtr combines the functionality of the 'traceroute' and 'ping' programs
|
|
Packit |
b802ec |
in a single network diagnostic tool.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
As mtr starts, it investigates the network connection between the host
|
|
Packit |
b802ec |
mtr runs on and a user-specified destination host. After it
|
|
Packit |
b802ec |
determines the address of each network hop between the machines,
|
|
Packit |
b802ec |
it sends a sequence of ICMP ECHO requests to each one to determine the
|
|
Packit |
b802ec |
quality of the link to each machine. As it does this, it prints
|
|
Packit |
b802ec |
running statistics about each machine.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
mtr is distributed under the GNU General Public License version 2.
|
|
Packit |
b802ec |
See the COPYING file for details.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
INSTALLING
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
If you're building this from a tarball, compiling mtr should be as
|
|
Packit |
b802ec |
simple as:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
make
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
It should first call the "configure" script and then run "make" again
|
|
Packit |
b802ec |
with the makefile that "configure" just generated.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
If you're building from the git repository, you'll need to run:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
./bootstrap.sh && ./configure && make
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
After compiling, install:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
make install
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Note that mtr-packet must be suid-root because it requires access to
|
|
Packit |
b802ec |
raw IP sockets. See SECURITY for security information.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Older versions used to require a non-existent path to GTK for a
|
|
Packit |
b802ec |
correct build of a non-gtk version while GTK was installed. This is
|
|
Packit |
b802ec |
no longer necessary. ./configure --without-gtk should now work.
|
|
Packit |
b802ec |
If it doesn't, try "make WITHOUT_X11=YES" as the make step.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
On Solaris, you'll need to use GNU make to build.
|
|
Packit |
b802ec |
(Use 'gmake' rather than 'make'.)
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
On Solaris (and possibly other systems) the "gtk" library may be
|
|
Packit |
b802ec |
installed in a directory where the dynamic linker refuses to look when
|
|
Packit |
b802ec |
a binary is setuid. Roman Shterenzon reports that adding
|
|
Packit |
b802ec |
-Wl,-rpath=/usr/lib
|
|
Packit |
b802ec |
to the commandline will work if you are using gnu LD. He tells me that
|
|
Packit |
b802ec |
you're out of luck when you use the sun LD. That's not quite true, as
|
|
Packit |
b802ec |
you can move the gtk libraries to /usr/lib instead of leaving them in
|
|
Packit |
b802ec |
/usr/local/lib. (when the ld tells you that /usr/local/lib is untrusted
|
|
Packit |
b802ec |
and /usr/lib is trusted, and you trust the gtk libs enough to want them
|
|
Packit |
b802ec |
in a setuid program, then there is something to say for moving them
|
|
Packit |
b802ec |
to the "trusted" directory.)
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Building on MacOS should not require any special steps.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
BUILDING FOR WINDOWS
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Building for Windows requires Cygwin. To obtain Cygwin, see
|
|
Packit |
b802ec |
https://cygwin.com/install.html. When installing Cygwin, select
|
|
Packit |
b802ec |
the 'lynx' package for installation. lynx is required by apt-cyg.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Next, install apt-cyg for easy installation of the remaining
|
|
Packit |
b802ec |
components. See https://github.com/transcode-open/apt-cyg.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Install the packages required for building:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
apt-cyg install automake pkg-config make gcc-core libncurses-devel
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Build as under Unix:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
./bootstrap.sh && ./configure && make
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Finally, install the built binaries:
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
make install
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
WHERE CAN I GET THE LATEST VERSION OR MORE INFORMATION?
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
mtr is now hosted on github.
|
|
Packit |
b802ec |
https://github.com/traviscross/mtr
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
See the mtr web page at
|
|
Packit |
b802ec |
http://www.BitWizard.nl/mtr/
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Bug reports and feature requests should be submitted to the Github
|
|
Packit |
b802ec |
bug tracking system.
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
Patches can be submitted by cloning the Github repository and issuing
|
|
Packit |
b802ec |
a pull request, or by email to me. Please use unified diffs. Usually
|
|
Packit |
b802ec |
the diff is sort of messy, so please check that the diff is clean and
|
|
Packit |
b802ec |
doesn't contain too much of your local stuff (for example, I don't
|
|
Packit |
b802ec |
want/need the "configure" script that /your/ automake made for you).
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
(There used to be a mailinglist, but all it got was spam. So
|
|
Packit |
b802ec |
when the server was upgraded, the mailing list died.)
|
|
Packit |
b802ec |
|
|
Packit |
b802ec |
-- REW
|
|
Packit |
b802ec |
|