¿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