Commande Traceroute pour Linux
Commutateurs de commande traceroute | |
---|---|
changement | Explique |
-F | Définit la durée de vie initiale utilisée dans le premier paquet de sonde sortant. |
-F | Définissez le bit « Ne pas fragmenter ». |
-ré | Activer le débogage au niveau du socket. |
-G | Spécifiez des passerelles de routage source libres (jusqu’à 8). |
-Une génération | Spécifie l’interface réseau pour obtenir l’adresse IP source des paquets de sonde sortants. Ceci n’est généralement utile que sur les hôtes multirésidents. (Voir -s Marquer d’une autre manière. ) |
-Une génération | Utilisez ICMP ECHO au lieu des datagrammes UDP. |
-m | Définit la durée de vie maximale (maximum de sauts) utilisée dans les paquets de sonde sortants. La valeur par défaut est de 30 sauts (identique à la valeur par défaut utilisée pour les connexions TCP). |
-n | Imprimez les adresses de saut numériquement au lieu de symboles et de chiffres (enregistrez les adresses de serveur de noms dans les recherches de noms pour chaque passerelle trouvée sur le chemin). |
-p | Définit le numéro de port UDP de base utilisé dans les sondes (33434 par défaut). Traceroute n’attend rien en écoutant sur le port UDP selon arrivée Bases + nhops – 1 à l’hôte de destination (ainsi un message ICMP PORT_UNREACHABLE sera renvoyé pour terminer le traceroute). Cette option peut être utilisée pour sélectionner une plage de ports inutilisés si un port écoute sur un port de la plage par défaut. |
-r | Contourner la table de routage normale et envoyer directement aux hôtes sur le réseau connecté. Renvoie une erreur si l’hôte n’est pas sur un réseau directement connecté.Cette option peut être utilisée pour envoyer un ping à l’hôte local sur une interface qui n’est pas routée (par exemple, routage(8C)). |
-s | Utilisez les adresses IP suivantes (généralement données sous forme de numéros IP plutôt que de noms d’hôte) comme adresses source dans les paquets de sonde sortants. Sur les hôtes multirésidents (hôtes avec plusieurs adresses IP), cette option peut être utilisée pour forcer l’adresse source à être une adresse autre que l’adresse IP de l’interface envoyant les paquets de sonde. Si l’adresse IP n’est pas l’une des adresses d’interface de la machine, une erreur est renvoyée et rien n’est envoyé. (Voir -Une génération Marquer d’une autre manière. ) |
-t | d’installation Type de service Définissez les valeurs suivantes dans les paquets de sonde (zéro par défaut). La valeur doit être un entier décimal compris entre 0 et 255. Cette option peut être utilisée pour voir si différents types de services entraînent des chemins différents. (Si vous n’exécutez pas 4.4bsd, cela peut être académique, car les services réseau normaux tels que telnet et ftp ne vous permettent pas de contrôler le TOS.) Toutes les valeurs de TOS ne sont pas légales ou significatives – voir la définition de spécification IP dans . Une valeur utile pourrait être `-t 16‘ (faible latence) et `-t 8‘ (haut débit). |
-v | Sortie verbeuse. Répertorie les paquets ICMP reçus autres que TIME_EXCEEDED et UNREACHABLE. |
-w | Définissez le temps d’attente en secondes pour une réponse de sonde (5 secondes par défaut). |
-X | Basculer la somme de contrôle IP. Normalement, cela empêche traceroute de calculer les sommes de contrôle IP.Dans certains cas, le système d’exploitation peut écraser des parties de paquets sortants mais ne pas recalculer la somme de contrôle ; par conséquent, dans certains cas, la valeur par défaut est de ne pas calculer la somme de contrôle et d’utiliser -X les faire calculer. Notez que lors du sondage avec ICMP ECHO, le dernier saut nécessite généralement une somme de contrôle (-Une génération), ils sont donc toujours calculés lors de l’utilisation d’ICMP. |
-z | Définissez le temps en millisecondes pour faire une pause entre les sondes (0 par défaut). Certains systèmes, tels que les routeurs Solaris et Cisco, limitent le débit des messages ICMP. Une bonne valeur à utiliser avec ceci est 500 (par exemple 1/2 seconde). |
Interpréter les résultats
Traceroute décrit le chemin des paquets IP vers les hôtes Internet en lançant des paquets de sonde UDP avec de petits TTL, puis en écoutant les réponses ICMP « timeout » des passerelles.Démarrez la sonde avec un TTL de 1 et incrémentez de 1 jusqu’à ce que vous obteniez un « port inaccessible » ICMP (ce qui signifie que le paquet atteint sa destination) ou que le nombre maximum de tentatives, par défaut à 30 sauts, peut être utilisé -m bannière.
Lorsque traceroute s’exécute, il envoie trois sondes à chaque paramètre TTL, puis imprime une ligne sur la console indiquant le TTL, l’adresse de la passerelle et le temps d’aller-retour pour chaque sonde. Si les réponses de la sonde proviennent de différentes passerelles, imprimez l’adresse de chaque système répondant.Si traceroute ne reçoit pas de réponse dans les 5 secondes (passez à -w flag), il imprimera un astérisque pour cette sonde.
Pour empêcher le traitement de la sonde UDP de submerger l’hôte cible, traceroute définit le port cible sur une valeur peu susceptible d’être utilisée par le périphérique.Si le réseau ou le service de la cible utilise ce port, utilisez -p bannière.
Exemple de résultats de traceroute
L’utilisation et la sortie de l’exemple renverront des résultats similaires à cet exemple :
[yak 71]% Traceroute nis.nsf.net.
traceroute vers nis.nsf.net (35.1.1.48), max 30 sauts, paquets de 38 octets
1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
2 lilas – dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
3 lilas – dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms
Les deuxième et troisième lignes sont identiques. Ce résultat est lié à un noyau bogué sur le système de second saut – lbl-csam.arpa – qui transfère les paquets avec zéro TTL (bogue dans la version distribuée 4.3 BSD). Étant donné que NSFNet (129.140) ne fournit pas de traduction d’adresse en nom pour son NSS, vous devez deviner le chemin que le paquet emprunte à travers le pays.
Exemple de passerelle silencieuse
Un exemple plus intéressant est :
[yak 72]% traceroute allspice.lcs.mit.edu.
traceroute vers allspice.lcs.mit.edu (18.26.0.115), max 30 sauts
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilas – dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms
3 lilas-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms
5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms
6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms
7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms
8 129.140.70.13 (129.140.70.13) 80 ms 79 ms 99 ms
9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms
10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms
11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms
12 * * *
13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms
14 * * *
15 * * *
16 * * *
17 * * *
18 ALLSPICE.LCS.MIT.EDU (18.26.0.115) 339 ms 279 ms 279 ms
class= »syntaxe-ql »>
Notez que les passerelles distantes de 12, 14, 15, 16 et 17 sauts n’envoient pas de messages ICMP « timeout » ou envoient des TTL trop petits pour nous atteindre. Les lignes 14 à 17 exécutent le code de la passerelle MIT C qui n’envoie pas de messages « timeout ».
La passerelle silencieuse 12 dans l’exemple ci-dessus peut être un bogue de la version 4.0.[23]Code réseau BSD et dérivés : les machines exécutant le code 4.3 et les versions antérieures envoient des messages inaccessibles en utilisant n’importe quel TTL conservé dans le datagramme d’origine. Pour les passerelles, le TTL restant est nul et la garantie « timeout » ICMP ne nous est pas restituée.
Exemple de passerelle silencieuse du système cible
Lorsque ce bogue est présent sur le système cible, il se comporte de manière un peu plus intéressante :
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilas – dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
3 lilas – dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
6 csgw.Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
7 * * *
8 * * *
9 * * *
dix * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU (128.32.131.22) 59 ms ! 39 ms ! 39 ms !
class= »syntaxe-ql »>
A noter qu’il existe 12 « passerelles » (13 sont des destinations finales), dont la seconde moitié est manquante.Ce qui se passe réellement, c’est que le serveur est nommé larme (Sun-3 exécutant Sun OS 3.5) utilise le TTL dans notre datagramme d’arrivée comme TTL dans sa réponse ICMP. Ainsi, la réponse expirera sur le chemin de retour (aucune notification ne sera envoyée à personne car aucun ICMP n’a été envoyé pour ICMP) jusqu’à ce que nous sondions avec un TTL qui est au moins deux fois la longueur du chemin – en d’autres termes, la déchirure est en fait seulement 7 sauts.
Le retour d’une réponse avec un TTL de 1 est un indice que le problème existe. Traceroute imprime un ! passé ce délai si le TTL est inférieur ou égal à 1. Étant donné que les fournisseurs fournissent de nombreux logiciels obsolètes (DEC’s Ultrix, Sun 3.x) ou non standard (HPUX), attendez-vous à voir ce problème fréquemment et choisissez soigneusement l’hôte cible de la sonde.
D’autres annotations possibles après l’heure sont ! H, !Nou !P (hôte, réseau ou protocole inaccessible), !S (le routage source a échoué), ! F- (segmentation requise – afficher la valeur de découverte MTU du chemin RFC1191), ! X (Interdiction administrative de communications), !V (violation de la priorité de l’hôte), ! C (coupure de priorité effective), ou ! (code non accessible par ICMP). Ces codes sont définis par la RFC1812, qui remplace la RFC1716. Si presque toutes les sondes aboutissent à une sorte d’hôte inaccessible, traceroute abandonnera et se terminera.
Ce programme est conçu pour tester, mesurer et gérer le réseau. Il doit principalement être utilisé pour l’isolation manuelle des défauts. Il est déconseillé d’utiliser traceroute pendant le fonctionnement normal ou à partir de scripts automatisés en raison de la charge qu’il peut placer sur le réseau.
Merci de nous en informer!
Dites-nous pourquoi !
D’autres détails ne sont pas assez difficiles à comprendre