Vous pouvez utiliser Linux traceroute
commande pour détecter la partie lente du trajet d'un paquet réseau et résoudre les problèmes de connexion réseau lente. Nous allons vous montrer comment!
Comment fonctionne traceroute
Quand vous appréciez comment traceroute
Ça marche, facilite grandement la compréhension des résultats. Plus le parcours est compliqué paquet réseau devez prendre pour atteindre votre destination, plus difficile est d'identifier où un ralentissement pourrait se produire.
Une petite organisation Réseau local (LAN) peut être relativement simple. Vous aurez probablement au moins un serveur et un routeur ou deux. La complexité augmente de Réseau à grande distance (VAN) communiquer entre différents endroits ou sur Internet. Votre paquet réseau trouve ensuite (et est transmis et acheminé par) beaucoup de matériel, comme routeurs et passerelles.
Les en-têtes de métadonnées des paquets de données décrivent leur longueur, d'où ils viennent, où allez-vous, le protocole qu'ils utilisent, etc. La spécification du protocole définit l'en-tête. Si vous pouvez identifier le protocole, peut déterminer le début et la fin de chaque champ dans l'en-tête et lire les métadonnées.
traceroute
Utilisez le TCP / IP suite de protocoles et envois Protocole de datagramme utilisateur paquets. L'en-tête contient le Temps de vivre (TTL), contenant une valeur entière de huit bits. Malgré ce que le nom suggère, représente un compte, pas une durée.
Un paquet voyage de son origine à sa destination via un routeur. Chaque fois que le paquet atteint un routeur, décrémenter le compteur TTL. Si la valeur TTL atteint un, le routeur recevant le paquet diminue la valeur et remarque qu'elle est maintenant à zéro. Après, le paquet est rejeté et n'est pas transmis au prochain saut de son trajet en raison de l'expiration du délai.
Le routeur envoie un Protocole de contrôle des messages Internet (ICMP) Temps écoulé message de retour à l'origine du paquet pour vous informer que le paquet a expiré. Le message Time Exceeded contient l'en-tête d'origine et les premiers 64 bits de données de paquet d'origine. Ceci est indiqué à la page six de Demande pour des commentaires 792.
donc oui traceroute
envoyer un colis, mais plus tard, définissez la valeur TTL sur un, le paquet n'atteindra que le premier routeur avant d'être abandonné. Vous recevrez un message de dépassement de temps ICMP du routeur et pourrez enregistrer le temps qu'il a fallu pour l'aller-retour.
Répétez ensuite l'exercice avec TTL réglé sur 2, qui échouera après deux sauts. traceroute
augmentez le TTL à trois et réessayez. Cette procédure est répétée jusqu'à ce que la destination soit atteinte ou que le nombre maximum de sauts soit testé (30, par défaut).
Certains routeurs ne fonctionnent pas bien
Certains routeurs ont des erreurs. Ils essaient de transférer des paquets avec un TTL de zéro au lieu de les supprimer et de générer un message d'expiration ICMP.
Selon Cisco, certains fournisseurs d'accès Internet (FAI) limiter le nombre de messages ICMP transmis par vos routeurs.
Certains appareils sont configurés pour ne jamais envoyer de paquets ICMP. Souvent, Ceci est fait pour s'assurer que l'appareil ne peut pas être forcé par inadvertance à participer à un déni de service distribué, comme un attaque des schtroumpfs.
traceroute
a un délai d'attente par défaut pour les réponses de cinq secondes. Si vous n'obtenez pas de réponse dans les cinq secondes, la tentative est abandonnée. Cela signifie que les réponses des routeurs très lents sont ignorées.
Installation de traceroute
traceroute
il était déjà installé dans Fedora 31 mais il doit être installé à Manjaro 18.1 et Ubuntu 18.04. Installer traceroute
à Manjaro, utilisez la commande suivante:
sudo pacman -Sy traceroute
Installer traceroute
sous Ubuntu, utilisez la commande suivante:
sudo apt-get install traceroute
en utilisant traceroute
Comment nous couvrons ci-dessus, traceroute's
Le but est d'obtenir une réponse du routeur à chaque saut de votre ordinateur vers la destination. Certains peuvent être silencieux et ne rien révéler, tandis que d'autres renverseront probablement la fève sans scrupules.
Exemple, nous exécuterons un traceroute
Al Château de Blarney portail web en Irlande, la maison du célèbre Pierre de Blarney. La légende veut que si vous embrassez la pierre de Blarney, vous serez béni avec le “don de la parole”. Espérons que les routeurs que nous rencontrons en cours de route soient assez bavards.
On écrit la commande suivante:
traceroute www.blarneycastle.ie
La première ligne nous donne les informations suivantes:
- La destination et son adresse IP.
- Le nombre de sauts
traceroute
je vais essayer avant d'abandonner. - La taille des paquets UDP que nous envoyons.
Toutes les autres lignes contiennent des informations sur l'un des sauts. Malgré cela, avant d'entrer dans les détails, on peut voir ce qu'il y a 11 saute entre notre ordinateur et le portail Web du château de Blarney. Le saut 11 il nous dit aussi que nous avons atteint notre destination.
Le format de chaque ligne de saut est le suivant:
- Le nom de l'appareil ou, si l'appareil n'est pas identifié, l'adresse IP.
- L'adresse IP.
- Le temps qu'il a fallu pour l'aller-retour pour chacun des trois tests. S'il y a un astérisque ici, signifie qu'il n'y a pas eu de réponse pour ce test. Si l'appareil ne répond pas du tout, vous verrez trois astérisques et aucun nom de périphérique ou adresse IP.
Passons en revue ce que nous avons ensuite:
- saut 1: Le premier port d'escale (sans jeu de mots) est le routeur DrayTek Vigor dans le réseau local. Voici comment nos paquets UDP quittent le réseau local et se connectent à Internet.
- saut 2: Cet appareil n'a pas répondu. Peut-être qu'il a été configuré pour ne jamais envoyer de paquets ICMP. Ou peut-être qu'il a répondu, mais c'était trop lent, Pour ce que
traceroute
débranché. - saut 3: Un appareil a répondu, mais nous n'avons pas eu son nom, juste l'adresse IP. Notez qu'il y a un astérisque sur cette ligne, ce qui signifie que nous n'avons pas reçu de réponse aux trois demandes. Cela pourrait indiquer une perte de paquets.
- Sauter 4 et 5: Plus de sauts anonymes.
- saut 6: Il y a beaucoup de texte ici en raison d'un périphérique distant différent gérant chacune de nos trois requêtes UDP. Les noms ont été imprimés (assez longtemps) et les adresses IP de chaque appareil. Cela peut se produire lorsque vous rencontrez un réseau “très peuplé” dans lequel il y a beaucoup de matériel pour gérer de gros volumes de trafic. Ce saut est dans l'un des plus grands FAI du Royaume-Uni. Pour cela, ce serait un petit miracle si le même matériel distant gérait nos trois demandes de connexion.
- saut 7: C'est le saut que nos paquets UDP ont fait lorsqu'ils ont quitté le réseau du FAI.
- saut 8: De nouveau, nous obtenons une adresse IP mais pas le nom de l'appareil. Les trois tests ont été renvoyés avec succès.
- Sauter 9 et 10: Deux autres sauts anonymes.
- saut 11: Nous sommes arrivés au portail Web du château de Blarney. Le château est à Cork, Irlande, mais, selon Géolocalisation des adresses IP, le portail web est à Londres.
Ensuite, c'était un sac mélangé. Certains appareils jouaient au ballon, certains ont répondu mais ne nous ont pas dit leurs noms et d'autres sont restés absolument anonymes.
Malgré cela, nous avons atteint la destination, nous savons qu'ils sont 11 saute et le temps aller-retour pour le voyage était 13,773 et 14,715 millisecondes.
Masquer les noms d'appareils
Comme nous l'avons vu, parfois, l'inclusion de noms d'appareils conduit à un affichage encombré. Pour faciliter la visualisation des données, vous pouvez utiliser le -n
(pas de mappage) option.
Pour ce faire avec notre exemple, nous écrivons ce qui suit:
traceroute -n blarneycastle.ie
Cela facilite le choix de grands nombres pour les temps d'aller-retour qui pourraient indiquer un goulot d'étranglement..
Sauter 3 ça commence à avoir l'air un peu suspect. La dernière fois, n'a répondu que deux fois, et cette fois, n'a répondu qu'une seule fois. À ce stade, c'est hors de notre contrôle, de toute façon.
Malgré cela, si vous recherchiez votre réseau d'entreprise, cela vaudrait la peine de creuser un peu plus dans ce nœud.
Définition de la valeur du délai d'expiration de traceroute
Peut-être que si nous prolongeons le temps d'attente par défaut (cinq secondes), nous aurons plus de réponses. Pour faire ceci, nous utiliserons le -w
(temps d'attente) pour le changer à sept secondes. (Notez qu'il s'agit d'un nombre à virgule flottante).
On écrit la commande suivante:
traceroute -w 7.0 blarneycastle.fr
Cela n'a pas fait une grande différence., donc les réponses s'épuisent probablement. Les sauts anonymes sont probablement délibérément réservés.
Réglage du nombre de tests
Par défaut, traceroute
envoyer trois paquets UDP à chaque saut. Nous pouvons utiliser le -q
(nombre de demandes) pour ajuster cela vers le haut ou vers le bas.
Pour accélérer le traceroute
test, nous écrivons ce qui suit pour réduire le nombre de paquets d'interrogation UDP que nous envoyons à un:
traceroute -q 1 blarneycastle.fr
Cela envoie une seule sonde à chaque saut.
Définition de la valeur TTL initiale
Nous pouvons définir la valeur TTL initiale sur autre chose qu'un et sauter quelques sauts. En général, Les valeurs TTL sont définies sur un pour la première série de tests, deux pour la prochaine série de tests, et ainsi de suite. Si nous le réglons à cinq, le premier essai essaiera de sauter cinq et sautera les sauts un à quatre.
Comme nous savons que le portail Web du château de Blarney est à 11 saute de cet ordinateur, nous écrivons ce qui suit pour aller directement au Jump 11:
traceroute -f 11 blarneycastle.fr
Cela nous donne un rapport agréable et condensé sur l'état de la connexion avec la destination..
Soyez prévenant
traceroute
est un excellent outil pour étudier le routage du réseau, vérifier les vitesses de connexion ou identifier les goulots d'étranglement. Windows a également tracert
commande qui fonctionne de la même manière.
Malgré cela, vous ne voulez pas bombarder des appareils inconnus avec des torrents de paquets UDP et veillez à inclure traceroute
dans des scripts ou des tâches sans surveillance.
La charge traceroute
peut être placé sur un réseau peut nuire à ses performances. À moins que vous ne soyez en mesure de le réparer maintenant, vous voudrez peut-être l'utiliser en dehors des heures normales de bureau.