GNU/Linux >> Tutoriels Linux >  >> Linux

16 exemples pratiques de la commande Traceroute sous Linux

Internet est un vaste système de réseau rempli de bases de données, de serveurs, de routeurs et d'autres structures Web. Lorsque vous saisissez une adresse Web et appuyez sur le bouton Entrée de votre navigateur Web, il est acheminé via votre connexion Internet vers l'adresse hôte via le Web. Au milieu de la destination, lorsque votre paquet commence le voyage depuis l'ordinateur et atteint le serveur de destination, il voyage beaucoup à l'intérieur du Web. De nombreux outils Linux, Windows et Mac vous permettent de suivre chaque étape de votre paquet Internet. La commande traceroute est l'un des outils les plus utilisés que vous pouvez utiliser sous Linux pour suivre chaque étape, l'état en direct, la force de la connexion, la latence et bien d'autres concernant vos paquets Internet.

Ping contre commande Traceroute sous Linux

Sans aucun doute, Ping est la commande réseau la plus utilisée et la plus simple qui affiche si l'adresse de destination est active ou non. La différence entre la commande Ping et la commande traceroute est que Ping détecte uniquement si le serveur ou l'adresse est actif ou non simplement en envoyant un paquet et en analysant le signal.

Alors que la commande traceroute peut effectuer beaucoup plus de dépannage réseau et déterminer le chemin du réseau pour atteindre l'adresse de destination. La commande traceroute peut également prédire la durée de chargement d'une page Web, détecter les routeurs sur l'adresse Web, les noms d'hôte, les noms de serveur DNS, etc.

Lorsque nous exécutons la commande Ping sur un système réseau, la commande envoie automatiquement quatre paquets de données au site de destination ; et si l'un d'eux atteint le site, alors la commande détermine que le site est connectable, et il détermine combien de secondes il a fallu pour établir la connexion.

Voici un format de commande de la commande Ping pour Linux : 

ping <IP address>
ping <domain name>

La commande traceroute nous en dit plus sur la destination et le nombre de millisecondes nécessaires pour atteindre le site. Contrairement à la commande Ping, la commande traceroute nous indique les adresses IP de chaque appareil et calcule le temps d'aller-retour des données de chaque routeur au lieu de mesurer la seule destination finale. Il compte également le nombre total de sauts sur le chemin.

Voici un format de commande de la commande traceroute pour Linux : 

- -
traceroute <ip_address>

Différence entre Traceroute et Mtr et Tracert sous Linux

Je suis sûr que vous avez déjà entendu parler de la commande traceroute, de la commande mtr et de la commande tracert pour suivre les données dans un modèle de réseau. Sous Linux et Mac, nous pouvons utiliser la commande traceroute, dans laquelle la version Windows de la commande traceroute est la commande tracert. Fondamentalement, le traceroute et le tracert sont les mêmes commandes.

Maintenant, nous allons voir la différence entre la commande traceroute et la commande mtr. La forme complète du MTR est Matt's TraceRoute, qui est une commande modifiée de la commande traceroute. Dans traceroute, les paquets sont suivis lorsqu'ils voyagent sur un réseau IP vers un hôte spécifique.

Exemple de commande traceroute :

$ traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  0.265 ms  0.248 ms  0.239 ms
2  * * *
3  X-X-X-X.X.X.pl (X.X.X.X)  21.871 ms  22.061 ms  25.072 ms
(more data here)
10  one.one.one.one (1.1.1.1)  24.072 ms  22.439 ms  21.497 ms

Le MTR est un outil de diagnostic réseau unique combinant les fonctions traceroute et ping. Le MTR imprime certaines des sorties traceroute avec les résultats Ping.

Exemple de commande MTR :

$ mtr 1.1.1.1 -c 5 --report
Start: 2019-08-09T15:13:28+0200
HOST: blackhole                   Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.1.1                0.0%     5    0.2   0.1   0.1   0.2   0.0
  2.|-- X-X-X-X.X.X                0.0%     5    9.7   9.0   8.4   9.7   0.5
  3.|-- X-X-X-X.X.X                0.0%     5    9.6   8.6   6.2   9.8   1.5
  (more data here)
  10.|-- one.one.one.one            0.0%     5   12.8  13.4  10.7  18.9   3.3

Comment fonctionne la commande Traceroute sous Linux ?

Le paquet de notre système à l'adresse de l'hôte passe par le routeur, les points d'accès et les interfaces réseau. Pour déterminer le chemin réel de votre paquet de données, la commande traceroute utilise l'en-tête IP, le protocole ICMP (Internet Control Message Protocol) et la durée de vie ou les outils de durée de vie sur un système réseau.

Le suivi du paquet Internet peut être moins compliqué lorsque vous utilisez une très petite connexion LAN sur votre système. Lorsque vous entrez dans un réseau étendu, vous avez besoin de la commande traceroute pour lire l'en-tête de données permettant de mesurer la longueur, la source et la destination, ainsi que le protocole.

La commande traceroute utilise le protocole TCP pour établir la connexion. Et la valeur TTL 8 bits nous fournit également les numéros de compteur TTL qui déterminent le nombre total de rencontres entre le paquet de données et la destination via les routeurs. Le paquet reçoit une erreur de délai d'attente lorsque la valeur TTL est un. Et l'ICMP envoie un message de la source à la destination du paquet qui garantit le délai d'expiration.

Syntaxes Traceroute sous Linux

Ici, nous verrons les syntaxes de base de la commande traceroute sous Linux. Comprendre les syntaxes vous aidera certainement à comprendre tous les exemples de la commande traceroute que nous énumérerons ci-dessous.

Voici le format de la commande :

traceroute [options]  host_Address [pathlength]
  • -f, –first-hop=NUM :définit la distance entre le premier saut et le saut suivant.
  • -g, –gateways=GATES :en routage ouvert, il affiche une liste de passerelles.
  • -I, –ICMP :en tant que sonde, ICMP ECHO est spécifié.
  • -m, –max-hop=NUM :Définit le nombre de sauts ; la valeur par défaut est 64.
  • -M, –type=METHOD :les traceroutes sont effectuées avec ICMP ou UDP ; la méthode par défaut est UDP.
  • -p, –port=PORT :définit le port réseau ; la valeur par défaut est 33434.
  • -q, –tries=NUM :NUM paquets de test seront transférés par saut.
  • –resolve-hostnames :vous pouvez utiliser cette syntaxe pour corriger les noms d'hôte.
  • -t, –tos=NUM :le TOS ou le type de service est défini dans le NUM
  • -w, –wait=NUM :Définit le temps d'attente en secondes.
  • - ? –help :imprime l'aide et les guides manuels de la commande traceroute sous Linux.
  • –usage :Il montre l'usage dans un bref texte.
  • -V, –version :imprime la version actuelle de la commande traceroute sous Linux.

Installer la commande Traceroute sous Linux

Le processus d'installation de la commande traceroute dans les distributions Linux est simple. Dans les systèmes Windows et Mac, l'outil traceroute est préinstallé. Sous Linux, vous devez d'abord l'installer. Ici, j'ai répertorié les commandes d'installation pour les systèmes Ubuntu/Debian, RedHat, Fedora et Arch Linux.

Installer la commande traceroute sur Arch Linux.

sudo pacman -Sy traceroute

Obtenez la commande traceroute sur Ubuntu/Debian Linux.

sudo apt-get install traceroute

Installez l'outil traceroute sur les systèmes Fedora et Red Hat Linux.

# yum install traceroute -y

Une fois l'installation terminée, vous pouvez vérifier la version de traceroute pour vous assurer que l'outil est correctement installé sur votre machine Linux.

$ traceroute --version

Exemples de la commande Traceroute sous Linux

Nous allons maintenant voir quelques exemples concrets utiles et pratiques de la commande traceroute que vous devriez apprendre. La commande traceroute fonctionne sans problème avec toutes les principales distributions Linux sur les ordinateurs de bureau et les serveurs.

1. Exécutez Traceroute pour obtenir une vue d'ensemble 

La commande traceroute mentionnée ci-dessous nous montre l'adresse IP, le nombre total de sauts dans l'ensemble du chemin, la durée totale pour établir la connexion et la taille des packers.

traceroute ubuntupit.com

2. Masquage des noms d'appareils

Si vous souhaitez masquer le nom des périphériques réseau sur la sortie de la commande traceroute, veuillez ajouter   -n signer sur la commande.

traceroute -n  ubuntupit.com

3. Définition de la valeur du délai d'expiration de Traceroute

Bien que vous ayez une valeur de délai d'attente par défaut pour la commande traceroute, vous pouvez définir vous-même manuellement la valeur de délai d'attente. La commande traceroute mentionnée ci-dessous montre comment définir la valeur du délai d'attente sur 7 secondes sous Linux.

traceroute -w 7.0 ubuntupit.com

4. Définition du nombre de tests

Pour définir le nombre de tests ou le nombre de requêtes par saut pour une exécution de la commande traceroute sous Linux, vous pouvez utiliser la commande ci-dessous.

traceroute -q 1 ubuntupit.com

5. Définition de la valeur TTL initiale

L'utilisation de la syntaxe de l'indicateur -f sur la commande traceroute vous permettra de définir la valeur TTL ou la valeur de durée de vie de l'outil sous Linux.

traceroute -f 11 ubuntupit.com

6. Stockez le résultat dans un fichier texte

Vous pouvez exporter les résultats de la commande traceroute dans un fichier texte via la commande fournie ci-dessous sous Linux.

traceroute google.com > results.txt

7. Tracer l'itinéraire à l'aide d'IPv6

Si votre connexion Internet a une configuration IPv6, vous pouvez utiliser la commande traceroute mentionnée ci-dessous pour tracer la connexion.

traceroute -6 ipv6.google.com

8. Tracez l'itinéraire à l'aide d'Ipv4

De même, vous pouvez également définir une connexion IPv4 via la commande traceroute mentionnée ci-dessous sous Linux.

traceroute 4 google.com 

9. Spécifiez l'interface (NIC) à utiliser

Si votre système Linux possède plusieurs cartes d'interface réseau (NIC), vous pouvez attribuer à l'une de vos cartes réseau l'utilisation de la commande traceroute avec l'indicateur -i mentionnant le nom de la carte réseau.

traceroute -i enp8s0 google.com

Si vous avez besoin de connaître le nom de votre carte d'interface réseau, vous pouvez exécuter la commande ifconfig.

$ ifconfig

10. Définir le temps d'attente de réponse

Pour modifier le temps d'attente de réponse par défaut de la commande traceroute, vous pouvez utiliser un indicateur -w sur la commande traceroute sous Linux. Ce petit ajustement permettrait à votre pack de données de voyager un peu plus pour atteindre l'adresse de destination.

traceroute -w 1 google.com

11. Désactiver le mappage d'adresse IP et de nom d'hôte

Pour désactiver l'adresse IP et masquer le mappage d'hôte sous Linux, veuillez utiliser un signe n sur la commande traceroute. Cela permettra à l'utilisateur de ne pas imprimer l'adresse IP de l'hôte et le nom d'hôte.

traceroute n google.com 

12. Définir le nombre maximum de sauts

Par défaut, le nombre moyen de sauts de la commande traceroute est de 30. Vous pouvez modifier la valeur du saut sur la commande traceroute en ajoutant la valeur du saut avec un indicateur -m sur la commande.

traceroute -m 7 google.com 

13. Ne pas fragmenter le paquet

Si vous ne souhaitez pas fragmenter le pack de données sur votre système Linux, veuillez utiliser l'indicateur -F sur votre commande traceroute.

$ traceroute -F google.com

14. Acheminer le paquet à travers la porte

Si vous souhaitez acheminer la commande traceroute via la passerelle souhaitée, vous pouvez utiliser le signe -g avec la commande pour ajouter votre passerelle à la commande Linux.

$ traceroute -g 192.168.1.6 google.com

15. Définir le port de destination à utiliser

Par défaut, la commande traceroute utilise le port réseau 33434. Si vous devez modifier le port réseau, vous pouvez utiliser le signe -p sur la commande traceroute sous Linux.

$ traceroute  -p 20292 google.com

16. Obtenir de l'aide

Si vous avez besoin de plus d'aide et de manuels pour la commande traceroute, veuillez exécuter les commandes mentionnées ci-dessous sur le shell. Les manuels vous aideront certainement à démarrer avec l'outil.

traceroute --help  
man traceroute 

Problèmes que vous pourriez rencontrer lors de l'utilisation de la commande Traceroute

Lors de l'utilisation de la commande traceroute sous Linux, vous pouvez rencontrer des problèmes si vous êtes nouveau. Ici, nous avons répertorié quelques problèmes les plus rencontrés pour la commande traceroute par différents utilisateurs de la communauté Linux.

1. Problème avec le -n Drapeau en T Commande raceroute sous Linux

Plus tôt, nous avons vu que vous pouvez utiliser un indicateur n avec la commande traceroute sous Linux pour masquer le nom du périphérique. Si vous rencontrez un problème lors de l'utilisation de l'indicateur n sur votre shell et qu'il vous donne une option non valide, vous devez vous assurer que l'outil traceroute correct est installé sur votre système. Vous pouvez également essayer d'exécuter les commandes mentionnées ci-dessous pour une installation alternative sur votre système.

Voici l'exemple de sortie.

$ sudo traceroute -n . Not working
$ traceroute: invalid option -- 'n'

Commandes pour réparer l'outil traceroute sur une machine Linux.

$ update-alternatives --display traceroute
$ apt-get install traceroute
$ update-alternatives --configure traceroute

2. Les packages ne peuvent pas être authentifiés :problème de commande Traceroute

Si l'outil traceroute ne peut pas être authentifié sur votre système Linux, assurez-vous que vous êtes l'utilisateur sudo et que vous disposez des autorisations appropriées pour exécuter cette commande sur votre système. Après vous être assuré que cet outil est correctement installé, vous pouvez maintenant mettre à jour votre référentiel de packages avec la commande sudo update mentionnée ci-dessous.

sudo apt-get install traceroute
sudo apt-get update

Vous pouvez ensuite exécuter la commande traceroute souhaitée et, espérons-le, vos problèmes seront résolus.

3. Les versions plus récentes de Traceroute peuvent avoir des problèmes

Dans certains cas, sur certains appareils plus anciens, la dernière version de la commande traceroute peut présenter des problèmes. Par exemple, si vous souhaitez exécuter la commande traceroute avec l'indicateur -A pour définir le chemin de la commande, vous risquez de rencontrer un problème.

Exemple de sortie d'erreur :

~$ traceroute -A 8.8.8.8
traceroute -m 30 -q 1 -w 3 -A 8.8.8.8
traceroute: invalid option -- 'A'
Try 'traceroute --help' or 'traceroute --usage' for more information.
 -A     Perform AS path lookups in routing registries and print  results
          directly after the corresponding addresses.   

Ce problème est souvent résolu automatiquement après une mise à jour du référentiel. Si vous rencontrez toujours ce problème, veuillez redémarrer votre appareil, exécutez la commande correctement et assurez-vous que votre commande ne contient aucune erreur de frappe.

~$ traceroute -A 8.8.8.8 
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets

4. Erreur d'installation de Traceroute sous Linux

Si vous rencontrez un problème lors de l'installation de la commande traceroute sur votre machine Linux, assurez-vous que le chemin que vous attribuez à l'installation est disponible pour l'installation du package. Vous devez également vous assurer que vous disposez du privilège de superutilisateur pour installer cet outil. Dans la plupart des cas, les utilisateurs continuent d'essayer d'installer la commande traceroute dans un répertoire verrouillé et obtiennent une erreur d'autorisation refusée.

Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable  to lock the administration  directory (/var/lib/dpkg/), are you root?

Vous pouvez exécuter n'importe lequel des ensembles de commandes mentionnés ci-dessous pour résoudre ce problème. N'oubliez pas de corriger le référentiel manquant et d'installer la commande traceroute sous Linux.

sudo apt-get install --fix-missing  
sudo apt-get update && sudo apt-get install traceroute 

Obtenez le référentiel de l'univers et installez la commande traceroute.

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install inetutils-traceroute

5. Supprimer les crochets () autour de l'adresse IP sur Traceroute sous Linux

Parfois, vous pouvez obtenir l'adresse IP de sortie à l'intérieur du premier crochet ou entre parenthèses dans le shell du terminal.

Voici un exemple de sortie :

traceroute -m2 8.8.8.8 |grep .net |awk '{print $3}'
(207.225.112.2)

Pour supprimer les crochets de la sortie, veuillez exécuter la commande mentionnée ci-dessous.

$ traceroute -m 2 8.8.8.8 | awk '/net/{gsub(/\(|\)/,"");print $3}'             
Or
$ traceroute -m 2 8.8.8.8 | awk '/.net/{print $3}'  |  tr -d '()'
207.225.112.2

Derniers mots

L'utilisation de l'outil traceroute pour le dépannage du réseau peut rendre votre tâche plus facile et plus efficace. Cela peut prendre quelques jours aux utilisateurs débutants pour commencer avec cette commande, mais une fois que vous serez habitué à cet outil, vous constaterez à quel point vous aimez l'utiliser sous Linux.

Dans tout l'article, nous avons décrit beaucoup de choses sur la commande traceroute sous Linux. J'ai essayé d'illustrer la commande traceroute aussi simplement que possible. J'espère que ce message vous a été utile; si oui, partagez ce message avec vos amis et la communauté Linux. Vous pouvez également écrire vos opinions sur ce message dans la section des commentaires.


Linux
  1. 10 exemples pratiques de commandes Linux nm

  2. 7 Exemples de commandes Linux df

  3. 8 Exemples de commandes Linux TR

  4. Exemples de commande rm sous Linux

  5. Exemples de commandes ps sous Linux

12 exemples pratiques d'In Command sous Linux

15 exemples pratiques de commande Rsync sous Linux

5 exemples pratiques de la commande Tail sous Linux

commande echo sous Linux :7 exemples pratiques

Commande Ping pratique dans des exemples Linux

Exemples de commandes id sous Linux