¿Qué es el comando mtr?
Mtr (my traceroute) es una herramienta de diagnóstico de red de línea de comandos que proporciona las funciones de los comandos ping y traceroute. Es una herramienta simple y multiplataforma que genera información sobre la ruta completa que toman los paquetes de red desde el sistema host hasta el sistema de destino especificado. El comando mtr es superior al comando traceroute porque también genera el porcentaje de respuesta y los tiempos de respuesta para todos los saltos de red entre los dos sistemas.
Como administrador de red, debe saber cómo usar el comando mtr y los indicadores que puede usar para personalizar la salida a fin de realizar diagnósticos de red productivos. Este artículo explica el uso del comando mtr en detalle y proporciona ejemplos para mostrarle cómo usar indicadores específicos con este comando.
Hemos ejecutado los comandos y procedimientos descritos en este artículo en un sistema Ubuntu 20.04 y Ubuntu 22.04 LTS, pero también debería funcionar en Debian 11.
Dado que mtr es un programa de línea de comandos, lo usaremos en la línea de comandos de Ubuntu, la terminal. Puede abrir la aplicación de terminal usando el tablero del sistema o la combinación de teclas Ctrl + Alt + t.
Instalando el Comando mtr
El comando mtr probablemente no esté instalado por defecto en su sistema. aunque puedes instalarlo fácilmente con apt.
sudo apt install mtr
Uso del comando mtr
1. Ver informe de seguimiento de ruta en tiempo real
El comando mtr se usa principalmente para mostrar el informe traceroute para una máquina remota. Todo lo que tiene que hacer es ingresar el nombre de dominio o la dirección IP del sistema remoto usando el comando mtr y la salida mostrará el informe de seguimiento de ruta en tiempo real. Cuando haya terminado de ver el informe, puede salir del comando con q o con la combinación de teclas Ctrl+C.
Mostrar nombres de host
La siguiente sintaxis del comando mtr muestra los nombres de host en el informe de traceroute.
Sintaxis:
$ mtr [nombre de dominio/IP]
Ejemplo:
$ mtr google.com
Mostrar direcciones IP numéricas
Cuando usa el indicador g con el comando mtr, muestra las direcciones IP numéricas en lugar de los nombres de host en el informe de traceroute.
Sintaxis:
$ mtr -g [nombre de dominio/IP]
Ejemplo:
$ mtr -g google.com
Tanto nombres de host como direcciones IP numéricas
Cuando usa el indicador b con el comando mtr, muestra tanto las direcciones IP numéricas como los nombres de host en el informe de ruta.
Sintaxis:
$ mtr -b [nombre de dominio/IP]
Ejemplo:
$ mtr -b google.com
2. Especifique un límite para el número de pings
Puede configurar el comando mtr para salir después de imprimir el informe de seguimiento de ruta para un número específico de pings. En la salida, puede ver fácilmente la cantidad de pings en la columna Snt; cuando Snt alcance el número que especificó en su comando a través de la bandera c, mtr se cerrará automáticamente.
Sintaxis:
$ mtr -c [n] “ nombre de dominio/IP”
Ejemplo:
$ mtr -c 10 google.com
3. Habilitar modo de informe
En lugar de imprimir la salida del comando mtr en la pantalla, puede habilitar el modo de informe que, en cambio, imprimirá la salida en un archivo de texto. De esta manera puede registrar el análisis de la red para su posterior uso y observación. Todo lo que necesita hacer es habilitar el modo de informe a través del indicador r, especificar un recuento de ping para el que desea limitar el informe a través del indicador c y también especificar el nombre de archivo del informe en el que se guardará el informe.
Sintaxis:
$ mtr -r -c [n] “ nombre de dominio/IP”>”nombre-informe”
Ejemplo:
$ mtr -r -c 10 google.com >mtr-report-google
El informe se guarda en la carpeta de inicio del usuario actual de forma predeterminada. Sin embargo, puede especificar una ruta adecuada para guardar el informe.
Borrar salida en Informe
Agregar un indicador w con el indicador r permitirá que mtr imprima un informe bastante claro y más legible para traceroute.
Sintaxis:
$ metro – rw -c [n] “ nombre de dominio/IP”>”nombre-informe”
Ejemplo:
mtr -rw -c 10 google.com >mtr-report-google
4. Reorganizar los campos de salida
Cuando vea la salida del informe mtr, observará que las columnas están organizadas de una manera predeterminada específica. El indicador o le permite reorganizar la salida de forma personalizada para que sea más útil y productiva.
Sintaxis:
$ mtr -o “[Formato de salida]” “ nombre de dominio/IP”
La página de manual de mtr puede ayudarlo con las opciones que tiene mientras personaliza las columnas del informe mtr.
Ejemplo:
$ mtr -o "LSDR NBAW JMXI" google.com
5. Especifique el intervalo de tiempo entre las solicitudes ICMP ECHO
Aunque el intervalo de tiempo predeterminado entre cada solicitud ICMP y ECHO es de 1 segundo en el comando mtr, puede cambiarlo usando el indicador i para especificar un nuevo intervalo de tiempo.
Sintaxis:
$ mtr -i [tiempo en segundos] “ nombre de dominio/IP”
Ejemplo:
$ mtr -i 10 google.com
6. Usa paquetes TCP SYN o datagramas UDP
Si desea utilizar los datagramas TCP SYN o UDP para solicitar mtr en lugar de las solicitudes ICMP ECHO predeterminadas, puede hacerlo utilizando los indicadores tcp y udp respectivamente.
Sintaxis:
$ mtr –tcp “nombre de dominio/IP”
$ mtr –udp “nombre de dominio/IP”
Ejemplo:
$ mtr --tcp google.com
$ mtr --udp google.com
7. Especifique el número máximo de saltos entre el sistema local y la máquina remota
Puede personalizar el número máximo de saltos que se probarán entre su sistema local y la máquina remota especificando el tiempo, en segundos, con la marca m. El límite de tiempo predeterminado entre dos saltos es de 30 segundos para el comando mtr.
Sintaxis:
$ mtr -m [tiempoEnSegundos] “ nombre de dominio/IP”
Ejemplo:
$ mtr -m 35 216.58.223.78
8. Especifique el tamaño del paquete
A través del indicador s en el comando mtr, puede especificar el tamaño, en bytes, del paquete IP para diagnosticar la calidad de la red.
Sintaxis:
$ metro – r -s [tamaño del paquete] “ nombre de dominio/IP”
Ejemplo:
mtr -r -s 50 google.com
9. Imprimir salida CSV
La salida CSV del informe mtr delimita las columnas con un ",". Con el indicador csv, puede personalizar el comando mtr para generar el informe en formato CSV.
Sintaxis:
$ mtr –csv “nombre de dominio/IP”
Ejemplo:
$ mtr --csv google.com
10. Imprimir salida XML
El comando mtr también puede admitir el formato XML para imprimir informes de seguimiento de ruta. El informe XML es una buena opción para el procesamiento automatizado de la salida y se puede imprimir especificando el indicador xml con el comando mtr.
Sintaxis:
$ mtr –xml “nombre de dominio/IP”
Ejemplo:
$ mtr --xml google.com
11. Acceso a la página de manual y ayuda de mtr
Finalmente, puede obtener más opciones para el uso y la personalización del comando mtr leyendo su ayuda y la página del manual a través de los siguientes comandos.
$ man mtr
$ mtr --help
Aquí hay una lista de todas las opciones de línea de comandos de mtr
Usage: mtr [options] hostname -F, --filename FILE read hostname(s) from a file -4 use IPv4 only -6 use IPv6 only -u, --udp use UDP instead of ICMP echo -T, --tcp use TCP instead of ICMP echo -I, --interface NAME use named network interface -a, --address ADDRESS bind the outgoing socket to ADDRESS -f, --first-ttl NUMBER set what TTL to start -m, --max-ttl NUMBER maximum number of hops -U, --max-unknown NUMBER maximum unknown host -P, --port PORT target port number for TCP, SCTP, or UDP -L, --localport LOCALPORT source port number for UDP -s, --psize PACKETSIZE set the packet size used for probing -B, --bitpattern NUMBER set bit pattern to use in payload -i, --interval SECONDS ICMP echo request interval -G, --gracetime SECONDS number of seconds to wait for responses -Q, --tos NUMBER type of service field in IP header -e, --mpls display information from ICMP extensions -Z, --timeout SECONDS seconds to keep probe sockets open -M, --mark MARK mark each sent packet -r, --report output using report mode -w, --report-wide output wide report -c, --report-cycles COUNT set the number of pings sent -j, --json output json -x, --xml output xml -C, --csv output comma separated values -l, --raw output raw format -p, --split split output -t, --curses use curses terminal interface --displaymode MODE select initial display mode -g, --gtk use GTK+ xwindow interface -n, --no-dns do not resolve host names -b, --show-ips show IP numbers and host names -o, --order FIELDS select output fields -y, --ipinfo NUMBER select IP information in output -z, --aslookup display AS number -h, --help display this help and exit -v, --version output version information and exit
Después de leer este artículo, estará mejor equipado para ejecutar diagnósticos de red entre su máquina y un sistema remoto. También tienes una alternativa a los comandos ping y traceroute, con muchas más opciones de personalización para una mejor productividad y utilidad.