My Traceroute (antiguamente Matt’s traceroute) es una heramienta de diagnostico de red que mejora a los conocidos traceroute y ping. Puede funcionar desde consola o con interfaz gráfico.
Para instalarlo en Debian (y derivados) solo hay que ejecutar como root el comando:
# apt install mtr
Tambien podéis tirar de código fuente en https://github.com/traviscross/mtr
Podemos ejecutarlo desde consola con:
$ mtr elbinario.net
y nos saldra el interfaz gráfico si lo tenemos disponible. Para que salga en modo texto:
$ mtr -t elbinario.net
Podemos pedir un informe (tarda un rato):
$ mtr --report elbinario.net
Start: Wed Mar 6 00:00:00 2019
HOST: myhost Loss% Snt Last Avg Best Wrst StDev
1.|-- gateway 0.0% 10 0.4 0.4 0.4 0.5 0.0
2.|-- static.isp.net 0.0% 10 60.6 48.3 34.5 62.8 9.8
3.|-- 10.15.67.9 0.0% 10 17.2 17.0 15.9 18.5 0.6
4.|-- 10.15.67.4 0.0% 10 17.6 18.7 16.1 29.6 4.1
5.|-- bcn-b2-link.telia.net 0.0% 10 16.2 17.0 15.9 20.1 1.1
6.|-- prs-bb4-link.telia.net 0.0% 10 48.1 48.4 47.5 54.3 2.0
7.|-- ffm-bb4-link.telia.net 0.0% 10 57.9 58.1 57.6 59.0 0.0
8.|-- ffm-b1-link.telia.net 0.0% 10 55.7 52.9 50.5 55.7 1.8
9.|-- voxility-ic-304822-ffm-b1 10.0% 10 50.1 50.8 50.0 53.0 0.8
10.|-- fra-eq5-01c.voxility.net 0.0% 10 59.0 62.6 57.6 86.9 8.9
11.|-- fra-eq5-02sw.voxility.net 0.0% 10 58.2 59.1 57.9 62.9 1.3
12.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
13.|-- core2-dus1.bb.as24961.net 0.0% 10 58.0 58.3 56.6 65.9 2.7
14.|-- po2.edge1-dus5.bb.as24961 10.0% 10 60.0 59.7 58.5 63.1 1.3
15.|-- dus-my5-01-r01.as200615.n 0.0% 10 57.3 57.9 57.0 58.8 0.3
16.|-- 10.94.101.185.in-addr.arp 0.0% 10 124.3 80.7 61.5 178.9 4.0
Por defecto, en el sondeo usa paquetes udp a los que va incrementando el campo ttl.
Como podemos ver hay mucha información que no permite ver por donde viajan nuestros paquetes y donde se tropiezan.
A parte de mostrar el camino que siguen los paquetes hasta el equipo destino, MTR nos da estadísticas valiosas en las siguientes 7 columnas. La columna Loss% muestra el porcentaje de paquetes perdidos en cada salto. La columna Snt muestra el número de paquetes enviados. La opción –report envia 10 paquetes a menos que se especifique la opción –report-cycles=[número-de-paquetes], donde [número-de-paquetes] representa el número total de paquetes que quieres enviar al equipo remoto.
Las cuatro siquientes columnas Last, Avg, Best y Wrst son todas medidas de latencia en miliseguntos. Last es la latencia del último paquete enviado, Avg es la latencia media de todos los paquetes, mientras que Best y Wrst muestran el mejor (más corto) y el peor (más largo) tiempo de viaje para un paquete hasta el equipo intermedio. En muchos casos, la columna media (Avg) debería ser el foco de atención.
La columna final, StDev, muestra la desviación estandar de las latencias a cada equipo intermedio. A más alta desviación estandar. más grande será la diferencia entre medidas de latencia. La desviación estandar permite asegurar si la media mostrada representa el verdadero centro del conjunto de datos, o ha sido distorsionada por algún tipo de fenomeno o medida erronea. Si la desviación estandar es alta, la medida de latencia sera inconsistente. Despúes de promediar la latencia de 10 paquetes enviados, la media parece normal pero puede de hecho no representar los datos muy bien. Si la desviación estandar es alta, echale un vistazo a la mejor (Best) y peor (Wrst) medida de latencia para asegurarte que la media es una buena representación de la latencia actual y no el resultado de demasiada fluctuación.
La mayoriaa de las veces, puedes pensar en la salida de MTR como tres secciones principales. Dependiendo de la configuración, los 2 o 3 primeros saltos representan el ISP del equipo origen, mientras que los últimos 2 o 3 saltos son los equipos del ISP de equipo destino. Los saltos intermedios son los routers por los que pasan los paquetes para llegar a su destino.
MTR proporciona muchos parametros para hacer diferentes pruebas y no se limita solamente a paquetes udp. Un uso más avanzado podría ser:
$ sudo mtr --tcp --port 80 --report --report-cycles 10 elbinario.net
Start: Wed Mar 6 00:00:00 2019
HOST: myhost Loss% Snt Last Avg Best Wrst StDev
1.|-- gateway 0.0% 10 0.5 0.5 0.4 0.6 0.0
2.|-- static.isp.net 0.0% 10 67.3 51.9 17.0 164.6 50.8
3.|-- 10.15.67.9 0.0% 10 19.0 120.8 16.3 1028. 319.0
4.|-- 10.15.67.4 0.0% 10 18.7 20.1 16.2 23.9 2.4
5.|-- bcn-b2-link.telia.net 0.0% 10 17.8 219.6 17.0 1029. 424.5
6.|-- prs-bb3-link.telia.net 0.0% 10 37.4 42.0 35.6 55.5 7.2
7.|-- ffm-bb4-link.telia.net 0.0% 10 47.9 55.7 44.3 65.0 7.1
8.|-- ffm-b1-link.telia.net 0.0% 10 53.4 59.2 50.5 69.1 7.1
9.|-- voxility-ic-304815-ffm-b1 0.0% 10 50.0 154.7 43.6 1059. 318.1
10.|-- fra-eq5-01c.voxility.net 0.0% 10 75.1 54.7 43.9 75.1 10.0
11.|-- fra-eq5-02sw.voxility.net 0.0% 10 57.9 57.8 50.9 73.7 6.4
12.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0
13.|-- core2-dus1.bb.as24961.net 0.0% 10 57.2 56.9 50.7 70.8 6.3
14.|-- po2.edge1-dus5.bb.as24961 0.0% 10 78.0 174.3 51.8 1062. 313.2
15.|-- dus-my5-01-r01.as200615.n 0.0% 10 58.3 258.7 50.5 1078. 426.6
16.|-- 10.94.101.185.in-addr.arp 0.0% 10 126.8 82.3 62.5 181.5 40.0
Sabiendo usar esta herramienta, podremos detectar fallos en la red que no conseguiriamos detectar con ping o traceroute.
Muy útil, gracias por compartirlo foo ;)