En el siguiente artículo vamos a echar un vistazo a MTR. Se trata de una herramienta para el análisis de red y que vamos a utilizar desde la línea de comandos. Es un programa simple y multiplataforma que combina la funcionalidad de los programas de traceroute y ping en una sola herramienta.

Una vez que se ejecute MTR, va a explorar la conexión de red entre el sistema local y un host remoto que especifiquemos. Primero establece la dirección de cada salto de red entre los hosts. Después hace ping a cada uno para determinar la calidad del enlace a cada máquina.

Al igual que traceroute, este programa imprime información sobre la ruta que toman los paquetes. Desde el host en el que se ejecuta MTR a un host de destino especificado por el usuario. También se va a poder determinar la ruta a una máquina remota mientras imprime el porcentaje de respuesta, así como los tiempos de respuesta de todos los saltos de red entre el sistema local y la máquina remota.

Durante el curso de esta operación, MTR genera algunas estadísticas útiles sobre cada máquina. Estas se actualizan en tiempo real, de forma predeterminada. Al ejecutar el programa se envían paquetes ICMP ajustando el tiempo de vida (TTL), para ver la serie de saltos que el paquete hace entre el origen y el destino. Un aumento repentino en la pérdida de paquetes o en el tiempo de respuesta, puede ser señal de una mala conexión, un host sobrecargado o incluso de un ataque tipo man in the middle.

Instalar MTR

Esta herramienta la encontraremos preinstalada en la mayoría de las distribuciones Gnu/Linux y es bastante fácil de utilizar. Si no encuentras MTR instalado, puede instalarlo en Ubuntun utilizando el administrador de paquetes predeterminado. Solo tendremos que abrir una terminal (Ctrl+Alt+T) y escribir en ella:

sudo apt install mtr

Algunos ejemplos de uso de MTR

El ejemplo más simple que podemos utilizar con MTR es proporcionar el nombre de dominio o la dirección IP de la máquina remota como argumento, por ejemplo, google.com o 216.58.223.78. Este comando nos mostrará un informe de traceroute actualizado en tiempo real, hasta que cerremos el programa, pulsando q o Ctrl+C.

mtr google.com

Ver direcciones IP numéricas

Vamos a poder forzar a que MTR muestre direcciones IP en lugar de nombres de host. Para ello solo tendremos que utilizar -n como se muestra a continuación:

mtr -n google.com

Ver nombres de host e IP numéricas

Si nos interesa que MTR muestre tanto nombres de host como IP, solo tendremos que utilizar -b:

mtr -b google.com

Limitar el número de pings

Para limitar el número de pings a un valor específico y salir de MTR después de esos pings, usaremos -c. Si observamos la columna Snt, una vez que se alcanza el número especificado de pings, la actualización en vivo se detiene y el programa sale. En este ejemplo, se lanzarán 4 pings.

mtr -c 4 google.com

Generar estadísticas de la red

Este programa se puede configurar en modo de informe. Para hacerlo, usaremos -r, que es una opción útil para generar estadísticas sobre la calidad de la red. Podemos usar esta opción junto con -c para especificar el número de pings. Dado que las estadísticas se imprimen en una salida estándar, vamos a poder redirigirlas a un archivo para su posterior análisis.

mtr -r -c 4 google.com > mtr-reporte

Organizar los campos de salida

También vamos a poder a organizar los campos de salida de la forma que más nos interese. Esto es posible gracias a la opción -o como se muestra a continuación. Se puede consultar la página del man de MTR para conocer el significado de las etiquetas del campo.

mtr -o "LSDR NBAW JMXI" 216.58.223.78

Intervalo entre las solicitudes ICMP ECHO

El intervalo predeterminado entre las solicitudes ICMP ECHO es de un segundo. Esto se puede cambiar especificando un nuevo intervalo entre las solicitudes cambiando el valor utilizando -i.

mtr -i 2 google.com

Especificar la cantidad máxima de saltos

Vamos a poder especificar una cantidad máxima de saltos. El valor predeterminado es de 30. Con ello conseguiremos sondear entre el sistema local y la máquina remota. Para hacerlo utilizamos -m seguido del valor que nos interese.

mtr -m 35 216.58.223.78

Establecer el tamaño del paquete utilizado

Al probar la calidad de la red, vamos a poder establecer el tamaño del paquete. Este se especifica en bytes utilizando -s. En el siguiente comando tendremos que darle un valor numérico al campo PACKETSIZE :

mtr -r -s PACKETSIZE -c 5 google.com > mtr-reporte

Ayuda de MTR

Cualquier usuario que lo necesite, podrá obtener ayuda para este programa echando un vistazo a la página de man. En ella encontraremos más opciones de uso.

man mtr

También podremos hacer uso del menú de ayuda que nos ofrece el programa desde su interfaz pulsando la tecla H.