Diagnostiquez des soucis de latence avec MTR (My Traceroute)
MTR, outil d'analyse de latence sous Linux

Diagnostiquez des soucis de latence avec MTR (My Traceroute)

Introduction

Lorsque l’on doit diagnostiquer un problème réseau — latence élevée, pertes de paquets, route instable — on utilise classiquement les commandes ping et traceroute. La commande mtr (My TRaceroute ou Matt’s TRaceroute) propose une approche plus puissante : elle combine les fonctionnalités de ping et traceroute en un seul outil, avec des statistiques dynamiques

Dans cet article nous verrons ce qu’est mtr, comment l’installer, son usage de base, ses options les plus utiles, et comment interpréter les résultats.

Qu’est-ce que MTR ?

Le nom MTR vient de « My Traceroute » (anciennement nommé « Matt’s Traceroute »). Cet outil fusionne les rôles des classiques traceroute (analyse du cheminement des paquets) et ping (mesure de latence et de perte de paquets).

Contrairement à traceroute, mtr sonde de manière périodique et continue chaque saut d’un itinéraire et met à jour les statistiques en temps réel.

En outre mtr support aussi bien IPv4 qu’IPv6 et peut fonctionner en mode ICMP, TCP ou UDP.

Installation de MTR

Nombre de distributions Linux actuelles intègrent mtr de base. Toutefois si ce n’est pas le cas il est bien évidemment possible de l’installer.

Installation de MTR sous Debian, Ubuntu et dérivés

sudo apt install mtr

Installation sous CentOS, Red Hat, Fedora, Rocky Linux, …

sudo dnf install mtr

Vérifier la présence de MTR

Vérifier via les pages du manuel

man mtr

Vérifier la présence de l’exécutable

which mtr

Usage de base de MTR

Syntaxe générale

mtr [options] <destination>

Exemples:

mtr google.be

La commande lance une interface interactive en ligne de commande montrant les résultats de l’itinéraire vers google.be avec des mises à jour en continu. Pour quitter l’affichage il suffit d’appuyer sur q ou CTRL+C.

Résultat:

Utilisation du mode « rapport » de MTR

Il est aussi possible de faire fonctionner mtr en mode « rapport », dans ce mode au lieu d’afficher les résultats en continue, mtr génèrera un rapport.

Syntaxe du mode rapport

mtr -r -c <nombre> <destination>

Options:

  • -r : activation du mode rapport
  • -c <n> : définit le nombre de tests (n) (ex: -c 10)

Exemple:

mtr -r -c 10 google.be

Ici mtr effectuera 10 test vers la destination pour produire le rapport.

Résultat:

exemple de rapport de mtr

On peut ensuite rediriger la sortie du rapport vers un fichier:

mtr -r -c 10 google.be > mtr-google-be.txt

Principales options de MTR

Voici un tableau des options les plus utiles de mtr

OptionDescription
-nNe pas résoudre les adresses en nom DNS
-4 / -6Forcer IPv4 ou IPv6
-uMode UDP
-tMode TCP (envoie des paquets SYN)
-i <n>Intervalle en secondes entre chaque test
-s <n>Taille des paquets
-m <n>Valeur du TTL maximum
--csvSortie au format CSV
--xmlSortie au format XML
-rMode rapport
-wSortie large en mode rapport
-h Afficher l’aide et les options disponibles

Exemple:

mtr -4 -r -w -c 5 -n google.be --csv

Produit un rapport en affichage large, en forçant IPv4 pour 5 tests, sans résolution de nom vers google.be, le tout au format CSV.

Résultat:

Mtr_Version,Start_Time,Status,Host,Hop,Ip,Loss%,Snt, ,Last,Avg,Best,Wrst,StDev,
MTR.0.95,1759573246,OK,google.be,1,192.168.1.1,0.00,5,0,2.22,2.26,2.16,2.35,0.08
MTR.0.95,1759573246,OK,google.be,2,10.24.1.4,0.00,5,0,3.14,3.38,3.14,3.73,0.25
MTR.0.95,1759573246,OK,google.be,3,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,4,91.183.241.168,0.00,5,0,3.78,4.21,3.74,5.59,0.78
MTR.0.95,1759573246,OK,google.be,5,91.183.245.122,0.00,5,0,8.14,7.60,7.28,8.14,0.37
MTR.0.95,1759573246,OK,google.be,6,209.85.242.197,0.00,5,0,8.36,7.61,7.01,8.36,0.50
MTR.0.95,1759573246,OK,google.be,7,74.125.243.82,0.00,5,0,7.89,8.54,7.54,11.35,1.58
MTR.0.95,1759573246,OK,google.be,8,216.239.43.27,0.00,5,0,7.67,7.55,7.41,7.79,0.17
MTR.0.95,1759573246,OK,google.be,9,142.250.227.193,0.00,5,0,13.96,13.06,12.20,14.01,0.87
MTR.0.95,1759573246,OK,google.be,10,108.170.231.161,0.00,5,0,11.42,12.19,11.42,13.70,0.94
MTR.0.95,1759573246,OK,google.be,11,72.14.234.15,0.00,5,0,12.09,12.79,12.09,13.44,0.51
MTR.0.95,1759573246,OK,google.be,12,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,13,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,14,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,15,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,16,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,17,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,18,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,19,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,20,???,100.00,5,5,0.00,0.00,0.00,0.00,0.00
MTR.0.95,1759573246,OK,google.be,21,64.233.166.94,0.00,5,0,11.80,12.01,11.66,12.53,0.35

Interprétations des résultats de MTR

Les informations affichées

A l’exécution MTR affiche les informations suivantes:

  • Host: l’adresse ou le nom DNS du saut
  • %Loss: pourcentage de paquets perdus à ce saut
  • Snt: nombre de sondes envoyées
  • Last: délai (RTT) de la dernière sonde
  • Avg: délai moyen de ce saut
  • Best: meilleur délai observé
  • Wrst: pire délai observé
  • StDev: écart type (variabilité)

Quelques principes à garder en tête:

  • Loss persistent : si un saut affiche une perte de paquets, c’est un signe de problème. Mais attention : un routeur peut décider de ne pas répondre aux sondes ICMP, sans que cela implique une panne réelle du chemin.
  • Augmentations soudaines de délai : si un saut a un délai beaucoup plus élevé que les précédents, cela suggère un point de congestion ou de latence élevée à ce tronçon.
  • Variabilité élevée (StDev) : beaucoup d’écart entre les sondes = chemin instable.
  • Perte localisée : si la perte est visible à partir d’un saut mais pas aux sauts suivants, c’est souvent un “faux positif” (le routeur bloque les réponses ICMP mais laisse passer le trafic).

Conclusion

Quand il s’agit de diagnostiquer des soucis de latence, mtr se révèle être un outil indispensable dans un environnement Linux. Son exécution par ligne de commandes permet de l’utiliser sur n’importe quelle machine distante sans la moindre interface graphique.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.