Dans cet article, nous discuterons de tout ce que vous voulez savoir sur la commande Linux traceroute et comment l'utiliser dans votre pratique quotidienne.
Traceroute est un utilitaire de ligne de commande qui imprime la route (ou les sauts) qu'un paquet emprunte pour atteindre un autre hôte. Il est utilisé pour le diagnostic du réseau. Comme son nom l'indique, l'objectif principal d'un traceroute est de tracer la route IP d'une source à une destination à l'intérieur d'un réseau IP, permettant aux administrateurs de mieux résoudre les problèmes de connectivité. Traceroute ne se contentera pas de dire si vous avez une connectivité, mais il indiquera où se situe précisément le problème et pourquoi cela se produirait.
Traceroute vous donne des informations complètes sur le chemin que vos données emprunteront pour atteindre leur destination. Par exemple, si votre ordinateur (source) est à Los Angeles, Californie et le serveur à New York (destination) , traceroute identifiera le chemin complet, chaque saut (les ordinateurs, les routeurs ou tout périphérique qui se situe entre la source et la destination) sur le chemin, et le temps qu'il faut pour aller et revenir.
Cependant, sur Internet, les messages Traceroute sont souvent bloqués par les routeurs de divers systèmes autonomes, ce qui rend Traceroute inexact dans certains cas.
Comment fonctionne Traceroute
Traceroute utilise le plus souvent des paquets d'écho ICMP (Internet Control Message Protocol) avec des valeurs TTL (Time to Live) variables. Pour garantir l'exactitude, chaque saut est interrogé plusieurs fois et le temps de réponse de chaque saut est calculé.
La commande Linux traceroute fonctionne en manipulant le TTL. Le but de TTL est de limiter la durée de vie des données dans un réseau IP. Chaque paquet de données envoyé se voit attribuer une valeur TTL. Lorsqu'un paquet de données atteint un saut sur le chemin vers l'appareil de destination, la valeur TTL est diminuée de 1.
Lorsqu'un routeur décrémente la valeur du nombre de sauts d'un paquet à zéro, il renvoie un message d'erreur ICMP "temps dépassé" à l'adresse IP source du paquet, sinon il transmet le paquet.
Un outil de traceroute envoie des paquets vers une adresse IP de destination et avec un TTL défini sur 1, de sorte que le premier routeur atteint par les paquets renvoie une erreur "temps dépassé". Lorsque l'erreur revient, l'outil traceroute enregistre l'identité du premier routeur et le temps d'aller-retour, incrémente le TTL et envoie de nouveaux paquets, en répétant ce processus jusqu'à ce que le dernier paquet atteigne l'adresse IP de destination ou que deux ensembles de paquets soient abandonnés.
Comment utiliser la commande traceroute sous Linux
Commençons par un exemple simple. Exécutons le traceroute
commande pour www.google.com
domaine.
traceroute www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1 63.133.178.109 (63.133.178.109) 0.210 ms 0.268 ms 0.214 ms
2 ae1.cr0-dal4.ip4.gtt.net (69.174.3.1) 0.311 ms 0.317 ms 0.354 ms
3 ae1.cr10-dal3.ip4.gtt.net (213.254.230.210) 1.260 ms 2.320 ms 2.304 ms
4 as15169.dal33.ip4.gtt.net (199.229.230.118) 3.595 ms 2.464 ms 1.365 ms
5 108.170.240.129 (108.170.240.129) 2.636 ms 108.170.240.193 (108.170.240.193) 1.501 ms 108.170.240.129 (108.170.240.129) 2.620 ms
6 142.251.60.143 (142.251.60.143) 1.480 ms 1.499 ms 142.251.60.145 (142.251.60.145) 1.473 ms
7 dfw25s44-in-f4.1e100.net (142.251.33.4) 1.425 ms 1.622 ms 1.587 ms
La première ligne nous donne les informations suivantes :
- La destination (www.google.com) et son adresse IP (142.251.33.4).
- Le nombre de sauts
traceroute
va essayer avant d'abandonner (30 sauts). - La taille des paquets UDP que nous envoyons (60 octets).
Le reste de la sortie montre tous les routeurs par lesquels nos paquets sont passés. Dans chacune des lignes, nous pouvons trouver des informations sur le nom et l'adresse IP de l'hôte. Les trois valeurs suivantes représentent les temps d'aller-retour pour un routeur donné.
Dans notre cas, pour se connecter à www.google.com, la requête doit passer par sept routeurs différents. Dans la sortie, nous pouvons voir que le dernier (142.251.33.4) est l'hôte de destination pour le www.google domaine .com.
Masquer les noms d'appareils
Comme nous l'avons vu, l'inclusion de noms d'appareils entraîne parfois un affichage encombré. Pour faciliter la visualisation des données, vous pouvez utiliser la commande traceroute sous Linux avec le -n
option.
traceroute -n www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1 63.133.178.109 0.142 ms 0.224 ms 0.207 ms
2 69.174.3.1 0.306 ms 0.303 ms 0.323 ms
3 213.254.230.210 11.812 ms 11.784 ms 11.771 ms
4 199.229.230.118 6.516 ms 1.851 ms 4.416 ms
5 108.170.240.129 2.944 ms 108.170.240.193 2.009 ms 108.170.240.129 2.920 ms
6 142.251.60.143 1.928 ms 1.928 ms 1.933 ms
7 142.251.33.4 1.937 ms 1.922 ms 1.926 ms
Définition du nombre maximum de sauts avec la commande Linux traceroute
En ajoutant un -m
supplémentaire paramètre nous pouvons spécifier le nombre maximum de sauts traceroute
va sonder :
traceroute -m 3 www.google.com
traceroute to www.google.com (142.251.33.4), 3 hops max, 60 byte packets
1 63.133.178.109 (63.133.178.109) 0.170 ms 0.187 ms 0.172 ms
2 ae1.cr0-dal4.ip4.gtt.net (69.174.3.1) 0.299 ms 0.300 ms 0.301 ms
3 ae1.cr10-dal3.ip4.gtt.net (213.254.230.210) 2.727 ms 2.753 ms 2.736 ms
Désormais, la sortie ne comprendra que les trois premiers routeurs. La valeur par défaut pour le -m
est 30. Par conséquent, assurez-vous de l'augmenter dans les cas où le nombre de sauts peut dépasser 30.
Définition du nombre de paquets de sonde par saut
Par défaut, traceroute
envoie trois paquets UDP à chaque saut. Nous pouvons utiliser le -q
possibilité de l'ajuster vers le haut ou vers le bas.
Pour accélérer le traceroute
nous tapons ce qui suit pour réduire le nombre de paquets de sonde UDP à un :
traceroute -q 1 www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1 63.133.178.109 (63.133.178.109) 0.160 ms
2 ae1.cr0-dal4.ip4.gtt.net (69.174.3.1) 0.272 ms
3 ae1.cr10-dal3.ip4.gtt.net (213.254.230.210) 2.190 ms
4 as15169.dal33.ip4.gtt.net (199.229.230.118) 1.853 ms
5 108.170.240.129 (108.170.240.129) 3.063 ms
6 142.251.60.145 (142.251.60.145) 1.993 ms
7 dfw25s44-in-f4.1e100.net (142.251.33.4) 1.952 ms
Conclusion
Le traceroute
de Linux La commande est un excellent outil pour étudier le routage réseau, vérifier les vitesses de connexion ou identifier les goulots d'étranglement. Il est disponible dans toutes les distributions Linux populaires. Lorsque vous utilisez cet outil, vous utiliserez souvent les méthodes décrites dans cet article.
Pour en savoir plus sur traceroute
commande sous Linux, consultez sa page de manuel.