Comment diagnostiquer les problèmes de réseau sur Linux avec Traceroute

Découvrez comment utiliser Traceroute pour diagnostiquer les problèmes réseau sur Linux et optimiser votre connexion. Un outil puissant à ne pas négliger !
Traceroute est un utilitaire simple de réseau qui peut tracer l'itinéraire qu'un paquet Internet emprunte depuis la source jusqu'à son hôte de destination. Cet article vous montrera comment vous pouvez utiliser Traceroute pour vérifier la santé du réseau de votre Linux et diagnostiquer les problèmes émergents.
Remarque: Bien que cet article mette en évidence traceroute dans Linux, vous pouvez également utiliser cet utilitaire dans macOS et Windows.
Comment fonctionne Traceroute?
Traceroute fonctionne en envoyant des paquets UDP avec des longueurs TTL courtes à chaque passerelle Internet le long du chemin vers un hôte distant. Ces longueurs TTL courtes forcent alors ces passerelles à rapporter une réponse ICMP "TIME_EXCEEDED" ainsi que l'adresse IP de leur interface.
Ces deux facteurs combinés permettent à traceroute de créer une liste détaillée des machines que votre paquet traversera lorsqu'il se connecte à un serveur externe. Par exemple, en exécutant un traceroute vers "google.com" dans mon réseau, entre 9 et 10 passerelles seront répertoriées avant d'atteindre les serveurs de Google.
Quels problèmes réseau peut résoudre Traceroute?
Traceroute n'est qu'un outil de sondage de réseau et il n'optimise ni ne résout aucun problème en suspens dans votre réseau. Traceroute peut seulement décrire le comportement des réseaux et des paquets qui y circulent.
Malgré cela, c'est toujours un outil important pour diagnostiquer les problèmes potentiels de réseau. Un bon exemple est lorsqu'une passerelle locale échoue à transmettre un paquet à son prochain saut. Traceroute peut résoudre ce problème en mettant en évidence tout routeur à l'intérieur de votre réseau principal qui n'envoie pas de réponse "TIME_EXCEEDED".
En plus de cela, vous pouvez également utiliser traceroute pour vérifier les problèmes de latence entre les hôtes. Cela peut être utile si vous souhaitez voir si votre réseau local a besoin d'un VPN pour garantir une latence faible et constante lors de la connexion à une machine distante.
Bon à savoir: En savoir plus sur la sonde réseau en utilisant nmap sans sudo dans Linux.
Utilisation de Traceroute dans Linux
Ouvrez un nouveau terminal et tapez traceroute suivi de l'adresse de la machine à laquelle vous souhaitez que votre machine se connecte. Il peut s'agir soit d'un nom de domaine, soit d'une adresse IP. Par exemple:
traceroute ubuntu.myvpsserver.top
Appuyez sur Entrée pour commencer à mapper le chemin vers votre hôte distant.
Conseil: Apprenez comment vérifier votre passerelle Internet locale en trouvant l'adresse IP de votre routeur.
Envoi de paquets avec un TTL personnalisé dans Traceroute
Bien que l'utilisation de traceroute par lui-même soit suffisante pour une utilisation basique, vous pouvez également ajuster le fonctionnement du programme en utilisant des indicateurs. Cela peut être utile surtout si vous effectuez un triage de votre réseau.
Une des modifications les plus courantes dans traceroute consiste à changer le nombre de paquets qu'il envoie à une passerelle. Pour ce faire, utilisez l'indicateur -q suivi du nombre de paquets que vous souhaitez envoyer par demande:
traceroute -q 1 ubuntu.myvpsserver.top
Vous pouvez également utiliser l'indicateur -N suivi de "1" pour désactiver explicitement les demandes de paquets simultanées. Cela est utile si vous avez des passerelles qui limitent la vitesse des paquets UDP avec un TTL court.
Enfin, vous pouvez également modifier la valeur TTL par défaut pour traceroute. Pour cela, ajoutez l'indicateur -f suivi du TTL que vous souhaitez pour votre premier paquet de sondage.
Changer le protocole Traceroute dans Linux
Par défaut, traceroute dans Linux utilise UDP pour envoyer des paquets de sondage aux passerelles réseau. Cela peut poser un problème si vous sondez une passerelle qui bloque activement les paquets traceroute.
Pour résoudre cela, vous pouvez utiliser l'indicateur -T pour exécuter traceroute en utilisant des paquets TCP SYN simples.
D'autre part, vous pouvez également forcer traceroute à utiliser un paquet ICMP ECHO si la passerelle de destination restreint uniquement l'UDP:
sudo traceroute -I myvpsserver.top
Modification de l'interface et du port dans Traceroute
Traceroute prend également en charge les interfaces réseau personnalisées. C'est là que traceroute utilisera une carte réseau différente dans votre machine pour sonder le chemin d'un paquet.
Pour cela, exécutez le programme avec l'indicateur -i suivi du nom de l'appareil de votre interface.
traceroute -i enp1s0 myvpsserver.top
Note: Vous pouvez trouver les interfaces réseau disponibles pour votre machine en exécutant:
ifconfig -s | awk '{print $1}'.En plus de cela, vous pouvez utiliser l'indicateur -p pour spécifier le numéro de port de départ que traceroute utilisera pour la sonde UDP:
traceroute -p 34543
Enfin, le drapeau -p modifie également son comportement en fonction du protocole que vous utilisez. L'utiliser avec -I définira la valeur -p comme le numéro de séquence ICMP initial au lieu du port de destination.
Apprendre comment utiliser traceroute est seulement la première étape pour comprendre comment les ordinateurs communiquent entre eux à travers un réseau. En apprenant davantage sur les réseaux informatiques en analysant le contenu d'un paquet TCP en utilisant tcpdump.
Pendant ce temps, vous pouvez également en apprendre davantage sur les couches supérieures du modèle OSI, telles que DNS, en utilisant l'outil dig sous Linux.
Maintenant que tu as fini de lire Comment diagnostiquer les problèmes de réseau sur Linux avec Traceroute, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
