Ver destacados

Cómo usar comando MTR para diagnosticar red Linux

Tutorial para usar el comando MTR y realizar un diagnóstico de redes usando comandos desde Linux.
Escrito por
21.6K Visitas  |  Publicado jul 02 2018 15:55
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Al administrar y gestionar sistemas Linux es necesario contar con las mejores herramientas para sacar el máximo provecho, no solo al código libre, sino a la forma como obtenemos la información de cada sistema y de sus componentes ya sea hardware, procesos o servicios. Un aspecto fundamental en cualquier sistema y organización sin duda será la gestión de la red ya que si esta falla o presenta algún tipo de anomalía causará un impacto negativo en la forma en cómo se distribuyen los roles e impedirá que efectuemos cientos de tareas de forma natural y correcta.

 

Para ayudarnos en este proceso de gestión de redes, contamos con un comando llamado MTR (My Trace Route). Este comando es una herramienta de diagnóstico de redes basada en línea de comandos que funciona de forma sencilla y puede ser usada en sistemas como Linux, Windows o macOS. Los comandos en Linux son la base esencial de su uso y por eso es importante conocerlos.

 

Te mostramos diferentes ejemplos de comandos NMAP para sistemas Linux con los que realizar diferentes funciones.

 

El comando mtr combina la funcionalidad de los ya conocidos y prácticos comandos traceroute y ping solo que aquí se combinan en una sola herramienta. Idéntico al funcionamiento de traceroute, el comando mtr imprime información sobre la ruta que toman los paquetes desde el host en el que se ejecuta mtr a un host de destino que podemos especificar para de este modo llevar un control sobre todos los pasos que implica esta acción, como routers, paquetes enviados, los tiempos de respuesta de todos los saltos de red, etc,. De este modo se podrá tener un control centralizado para detectar errores en caso de que existan.

 

Ahora vamos a ver cómo usar este importante comando en Linux.

 

Cómo funciona MTR
En el momento que ejecutamos el comando mtr en Linux, se explora la conexión de red ubicada entre el sistema local y el host remoto sobre el cual se hará el proceso. Allí, en primer lugar, se establece la dirección de cada salto de red donde involucran elementos como puentes, enrutadores y puertas de enlace, entre los hosts, posterior a esto se hace ping, el cual es una secuencia de solicitudes de ECHO ICMP a cada uno para determinar la calidad del enlace disponible para cada máquina.

 

Ahora, durante este proceso, el comando mtr genera ciertas estadísticas útiles sobre cada equipo las cuales son actualizadas en tiempo real por defecto. El comando mtr está preinstalado en la mayoría de las distribuciones de Linux y ahora vamos a ver su funcionamiento.

 


1. Instalar comando MTR en Linux

 

En caso de que no contemos con mtr instalado, podremos instalarlo ejecutando el siguiente comando en base a la distribución que usemos. Allí ingresamos la letra S para confirmar la descarga e instalación de mtr.

sudo apt install mtr
sudo yum install mtr
sudo dnf install mtr

 

 


2. Usar comando MTR en Linux


Una vez instalado podremos iniciar a usar mtr en Linux para algunas tareas que explicaremos a continuación.

 

Paso 1

Una forma simple para usar el comando mtr es indicar el nombre de un dominio o la dirección IP de cualquier equipo remoto como argumento, de esta forma el comando mtr mostrará un informe de traceroute actualizado en tiempo real el cual puede ser detenido pulsando la tecla q o la combinación de teclas siguientes:

 

Ctrl + C

mtr solvetic.com

 

Paso 2

Será posible forzar para que el comando mtr muestre direcciones IP numéricas en lugar de nombres de host (FQDN, nombres de dominio totalmente calificados), a través del parámetro -n así:
mtr -n www.solvetic.com

 

Paso 3

Si deseamos que el comando mtr despliegue tanto los nombres de host como los números de IP, debemos usar el indicador -b así:
mtr -b www.solvetic.com

 

Paso 4

Si deseamos limitar el número de pings a un valor específico y salir del comando mtr después de ejecutar dichos pings, debemos usar el parámetro -c, podemos observar en la columna Snt, una vez que se alcanza el número indicado de pings, que la actualización en vivo se detiene y el programa sale de su ejecución:
mtr -c3 www.solvetic.com

 

Paso 5

Otra de las opciones es configurar el comando mtr en modo de informe a través del indicador -r, la cual es una opción útil para generar estadísticas sobre la calidad de la red analizada. Podremos combinar esta opción junto con el parámetro -c para especificar el número de pings a ejecutar, debido a que estas estadísticas se imprimen en salida estándar, tendremos la opción de redirigirlas a un archivo para su posterior análisis:
mtr -r -c 4 solvetic.com >mtr-report
Paso 6

Podremos comprobar el reporte usando el comando "ls" y luego ver su contenido usando "cat":

 

 

 

 

Paso 7

Allí mismo podremos añadir el parámetro -w para habilitar el modo de informe amplio para una salida más completa así:
mtr -rw -c 4 solvetic.com >mtr-report
Paso 8

Otra de las alternativas a usar es la capacidad de volver a organizar los campos de salida de la forma deseada gracias al parámetro -o:
mtr -o "LSDR NBAW JMXI" 8.8.8.8

 

Paso 9

Las opciones para organizar son:

 

L
Radio de pérdida.

 

D
Paquetes perdidos.

 

R
Paquetes recibidos.

 

S
Paquetes enviados.

 

N
Nuevos RTT (ms).

 

B
min/mejor RTT (ms).

 

A
Promedio RTT (ms).

 

W
máximos RTT (ms).

 

V
Desviación estándar.

 

G
Media geométrica.

 

J
Jitter actual.

 

M
Jitter medio.

 

X
Jitter inferior.

 

I
Jitter entrelazado.

 

 

Paso 10

El intervalo por defecto en mtr para las solicitudes ICMP ECHO es de un segundo, esto será posible editar cambiando el intervalo entre las solicitudes ICMP ECHO modificando el valor usando el parámetro -i así:
mtr -i 2 solvetic.com
Paso 11

También será posible usar paquetes TCP SYN o datagramas UDP en lugar de las solicitudes ICMP ECHO predeterminadas gracias a alguna de las siguientes opciones:
mtr --tcp solvetic.com
mtr --udp solvetic.com

 

Paso 12

Para especificar la cantidad máxima de saltos, cuyo valor predeterminado es 30, para analizar entre el sistema local y la máquina remota, usaremos el indicador "-m":
mtr -m 10 8.8.8.8

 

Paso 13

Otra de las alternativas a usar es establecer el tamaño del paquete usado en la medida de bytes tomando el parámetro -s así:
mtr -r -s PACKETSIZE -c 4 solvetic.com >mtr-report
Paso 14

Algunas alternativas adicionales para usar con mtr son:

 

-h
Despliega la ayuda de mtr.

 

-v
Despliega la versión usada de mtr.

 

-4
Usa únicamente direcciones IPv4.

 

-6
Usa únicamente direcciones IPv6.

 

-F (Filename) o –filename
Hace referencia a la lectura de los nombres de host de un archivo.

 

-xml
Guarda la consulta en formato xml

 

-t, --curses
Fuerza al comando mtr a usar el cursor basado en terminal.

 

--displaymode MODE
Usa alguno de los siguientes valores para desplegar los resultados, 0 (por defecto) para seleccionar estadísticas, 1 para desplegar la información sin latencia y 2 para desplegar la información con latencia.

 

-l, --raw
Guarda la información en formato raw.

 

-csv
Guarda la información en formato csv.

 

-json
Guarda la información en formato Json.

 

--show-ips
Despliega tanto el nombre del host como la dirección IP.

 

Con el comando mtr podremos tener un control más simple sobre el estado de nuestra red y comprobar de una forma mucho más central sus diferentes aspectos enfocados en su optimización.

 

Lista completa de comandos para configurar redes en sistemas Linux.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!