¿Qué es MTR?

MTR es un acrónimo en inglés que significa “My traceroute” que combina las funciones de otros dos programas conocidos como ping y traceroute. MTR verifica los saltos realizados para llegar hasta un servidor y mide la cantidad de paquetes pérdidas (en caso de que los haya), así como también el tiempo de respuesta de cada nodo y la cantidad de nodos a los que se ha saltado para llegar a destino.

Si bien MTR por defecto trabaja con paquetes ICMP, también es posible usarlo con paquetes UDP, y además es compatible con IPv6, por lo que se trata de una herramientas bastante completa.

Instalación desde código fuente:

1. Descargar el paquete desde https://www.bitwizard.nl/mtr/files/

wget https://www.bitwizard.nl/mtr/files/mtr-0.94.tar.gz

2. Extraerlo

tar xzf mtr-0.94.tar.gz 
cd mtr-0.94/ 
 3. Compilarlo
./configure --prefix=/opt/mtr-0.94 
sudo make install

4. Probar

[[email protected] mtr-0.94]$ /opt/mtr-0.94/sbin/mtr -n -c 10 8.8.8.8
Start: 2020-12-05T10:01:34-0600
HOST: monitor Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.254.11.1 0.0% 10 0.9 3.1 0.9 22.1 6.7
2.|-- 173.39.61.5 0.0% 10 0.5 0.5 0.4 0.6 0.0
3.|-- 101.151.94.58 0.0% 10 1.1 1.4 0.8 2.9 0.6
4.|-- 1204.162.187.22 0.0% 10 3.7 2.5 0.8 4.5 1.4
5.|-- 189.206.187.13 0.0% 10 1.2 1.4 1.2 2.4 0.4
6.|-- 189.206.187.10 0.0% 10 4.8 6.3 4.6 8.5 1.2
7.|-- 201.151.24.85 0.0% 10 9.2 8.9 5.2 11.5 1.9
8.|-- 189.206.31.62 0.0% 10 4.3 4.2 4.1 4.4 0.1
9.|-- 62.115.54.169 0.0% 10 34.5 34.4 34.3 34.5 0.1
10.|-- 62.115.114.205 0.0% 10 40.7 40.7 40.6 40.8 0.1
11.|-- 209.85.173.188 0.0% 10 40.6 40.5 40.4 40.6 0.1
12.|-- 108.170.240.193 0.0% 10 35.7 35.8 35.7 35.8 0.0
13.|-- 216.239.40.67 0.0% 10 36.3 36.4 36.3 36.7 0.1
14.|-- 8.8.8.8 0.0% 10 35.8 35.8 35.7 35.9 0.0

Parametros

 

Usage Verbose version Descripción
-F –filename FILE leer los nombres de host de un archivo
-4 usar solo IPv4
-6 usar solo IPv6
-u –udp utilizar UDP en lugar de eco ICMP
-T –tcp utilizar TCP en lugar de eco ICMP
-a –address ADDRESS enlazar el socket saliente a ADDRESS
-f –first-ttl NUMBER establecer qué TTL comenzar
-m –max-ttl NUMBER número máximo de saltos
-U –max-unknown NUMBER host desconocido máximo
-P –port PORT número de puerto de destino para TCP, SCTP o UDP
-L –localport LOCALPORT número de puerto de origen para UDP
-s –psize PACKETSIZE establecer el tamaño del paquete utilizado para el sondeo
-B –bitpattern NUMBER establecer el patrón de bits para usar en la carga útil
-i –interval SECONDS Intervalo de solicitud de eco ICMP
-G –gracetime SECONDS número de segundos para esperar respuestas
-Q –tos NUMBER tipo de campo de servicio en el encabezado IP
-e –mpls mostrar información de las extensiones ICMP
-Z –timeout SECONDS segundos para mantener abiertos los enchufes de la sonda
-r –report salida usando el modo de informe
-w –report-wide informe amplio de salida
-c –report-cycles COUNT establecer el número de pings enviados
-j –json json de salida
-x –xml salida xml
-C –csv valores separados por comas de salida
-l –raw formato de salida sin procesar
-p –split salida dividida
-t –curses usar la interfaz de terminal de curses
–displaymode MODE seleccionar el modo de visualización inicial
-n –no-dns no resuelva los nombres de host
-b –show-ips mostrar números de IP y nombres de host
-o –order FIELDS seleccionar campos de salida
-y –ipinfo NUMBER seleccione la información de IP en la salida
-z –aslookup mostrar AS número
-h –help mostrar esta ayuda y salir
-v –version generar información de versión y salir

 

Ejemplos de uso:

  • Enviar una prueba usando, solo IP v4 (-4), a un intervalo de 500 ms (-i 0.5), mostrar solo las IP sin nombre (-n) y que el formato de salida sea como un reporte (-r).
[root@aurlen-monitor mtr]# /opt/mtr-0.94/sbin/mtr -4 -i 0.5 -n -r 10.128.0.23
Start: 2020-12-05T19:15:02-0600
HOST: aurlen-monitor		       Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 10.110.3.1                 0.0%    10    0.2   0.6   0.2   2.0   0.7
  2.|-- 10.120.3.1                 0.0%    10    5.1   5.3   5.1   6.2   0.3
  3.|-- 192.168.14.2               0.0%    10    4.0   4.0   3.9   4.0   0.0
  4.|-- 192.168.14.1               0.0%    10    4.6   4.7   4.4   4.8   0.1
  5.|-- 131.4.255.18               0.0%    10   41.9  36.6  31.1  42.0   5.3
  6.|-- 131.4.255.99               0.0%    10   37.0  34.3  30.9  38.0   3.0
  7.|-- 10.128.0.23                0.0%    10   64.0  65.2  64.0  74.0   3.2

 

  • Enviar una prueba y mostrar el resultado en formanto csv (-C). Mtr agrega también un timestamp.
[root@aurlen-monitor mtr]# /opt/mtr-0.94/sbin/mtr -4 -i 1 -n -C 10.128.0.23
Mtr_Version,Start_Time,Status,Host,Hop,Ip,Loss%,Snt, ,Last,Avg,Best,Wrst,StDev,
MTR.0.94,1607217347,OK,10.128.0.23,1,10.110.3.1,0.00,10,0,10.94,8.72,0.21,11.38,4.32
MTR.0.94,1607217347,OK,10.128.0.23,2,10.120.2.1,0.00,10,0,10.98,10.88,9.98,10.99,0.32
MTR.0.94,1607217347,OK,10.128.0.23,3,192.168.14.2,0.00,10,0,10.98,10.58,6.97,11.00,1.27
MTR.0.94,1607217347,OK,10.128.0.23,4,192.168.14.1,0.00,10,0,4.53,4.55,4.43,4.68,0.08
MTR.0.94,1607217347,OK,10.128.0.23,5,131.4.255.18,0.00,10,0,31.31,31.48,31.09,32.22,0.46
MTR.0.94,1607217347,OK,10.128.0.23,6,131.4.255.99,0.00,10,0,30.22,30.59,30.22,32.47,0.70
MTR.0.94,1607217347,OK,10.128.0.23,7,10.128.0.23,0.00,10,0,63.53,67.32,63.53,74.02,5.01
  • Enviar una prueba y mostrar el resultado en formanto csv (-C). Mtr agrega también un timestamp. Para cambiar el formato de timestamp a fecha de mtr se usara awk. El siguiente script hace esa tarea:
/opt/mtr-0.94/sbin/mtr -4 -i 1 -n -C 10.128.0.23 | while read row;  do
	awk -F"," '{OFS=","; $2=strftime("%Y-%m-%d %H:%M:%S", $2); print $0}'
 done

 

La salida del script es:

 

MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,1,10.110.3.1,0.00,10,0,10.95,9.32,0.39,16.92,5.35
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,2,10.120.2.1,0.00,10,0,9.04,11.05,6.26,18.43,3.01
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,3,192.168.34.2,0.00,10,0,3.98,3.99,3.93,4.29,0.10
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,4,192.168.14.1,0.00,10,0,4.61,4.73,4.54,5.44,0.27
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.235,5,131.4.255.18,0.00,10,0,32.42,37.20,30.96,50.48,7.70
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,6,131.4.255.99,0.00,10,0,30.34,32.59,30.21,40.96,3.77
MTR.0.94,2020-12-05 20:50:08,OK,10.128.0.23,7,10.128.0.23,0.00,10,0,74.02,67.22,63.98,74.02,4.14