Commande traceroute : installation, utilisation et options -n, -I, -T

Environnement de testFamille RHELAlmaLinux 9.8Compte rootDebian 12 · traceroute 2.1.2 compte standardVérifié le 2026-10-29

Pour vérifier saut par saut les routeurs que traversent les paquets jusqu'à la destination, utilisez la commande traceroute. traceroute n'étant pas installé sur le serveur AlmaLinux 9.8, nous l'avons installé avec dnf, et depuis un serveur Debian 12 qui contient traceroute 2.1.2, le tracé du chemin vers example.com a atteint la destination au septième saut.

La sortie ci-dessous provient du serveur Debian 12, exécutée avec un compte standard, et seules les sorties rpm et dnf du chapitre sur l'installation viennent du serveur AlmaLinux 9.8 (compte root). Le nom d'hôte du serveur a été remplacé par server1, et les adresses des routeurs et des destinations par des adresses d'exemple (192.0.2.x, 198.51.100.x, 203.0.113.x). Le numéro de version du paquet installé (la version majeure 2.1 ne change pas) et l'heure des métadonnées dnf sont aussi des valeurs d'exemple, et les temps de réponse sont ceux réellement mesurés.

1️⃣ Installer traceroute

  • ↪️ dnf pour la famille RHEL, apt pour la famille Debian

L'installation par défaut de traceroute dépend de la distribution. Sur le serveur AlmaLinux 9.8, son exécution a renvoyé [traceroute: command not found], et une recherche avec rpm n'a trouvé aucun paquet installé.

rpm -q traceroute
package traceroute is not installed

Dans la famille RHEL, on l'installe avec dnf. Un aperçu avec [--assumeno] a montré un seul paquet à installer, traceroute du dépôt baseos, sans aucun autre paquet.

dnf install --assumeno traceroute
Last metadata expiration check: 0:05:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
 Package            Architecture   Version                 Repository      Size
================================================================================
Installing:
 traceroute         x86_64         3:2.1.0-9.el9           baseos          56 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 56 k
Installed size: 107 k
Operation aborted.

La taille de téléchargement était de 56k et la taille après installation de 107k. [--assumeno] répond no à toutes les questions, donc rien n'est installé et la commande se termine par [Operation aborted.] (selon la documentation officielle de dnf).

L'installation réelle a été faite avec [dnf install traceroute], sans [--assumeno].

dnf install traceroute
Last metadata expiration check: 0:20:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
 Package            Architecture   Version                 Repository      Size
================================================================================
Installing:
 traceroute         x86_64         3:2.1.0-9.el9           baseos          56 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 56 k
Installed size: 107 k
Downloading Packages:
traceroute-2.1.0-9.el9.x86_64.rpm               3.6 MB/s |  56 kB     00:00    
--------------------------------------------------------------------------------
Total                                            97 kB/s |  56 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : traceroute-3:2.1.0-9.el9.x86_64                        1/1 
  Running scriptlet: traceroute-3:2.1.0-9.el9.x86_64                        1/1 
  Verifying        : traceroute-3:2.1.0-9.el9.x86_64                        1/1 

Installed:
  traceroute-3:2.1.0-9.el9.x86_64                                               

Complete!

Sous [Installed:], seul le paquet traceroute est apparu, et l'installation s'est terminée par [Complete!] sans aucune dépendance.

Après l'installation, nous avons vérifié la version avec [traceroute --version].

traceroute --version
Modern traceroute for Linux, version 2.1.0
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

Le chemin de l'exécutable trouvé avec [command -v traceroute] était [/usr/bin/traceroute].

Dans la famille Debian, installez le paquet traceroute du dépôt de la distribution avec [apt install traceroute] (selon les informations officielles sur les paquets Debian). Vérifiez la version installée avec --version.

traceroute --version
Modern traceroute for Linux, version 2.1.2
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

Sur le serveur Debian 12, le paquet traceroute était déjà installé, et la version affichée était [Modern traceroute for Linux] 2.1.2.

2️⃣ Utiliser la commande traceroute

  • ↪️ Forme de base et lecture des lignes de sortie

traceroute reçoit un nom ou une adresse IP de destination et envoie des paquets dont le TTL commence à 1 et augmente de un à chaque fois. Un paquet de TTL 1 expire au premier routeur, et un paquet de TTL 2 au deuxième. À partir des réponses [time exceeded] renvoyées par ces routeurs, traceroute affiche l'adresse et le temps aller-retour de chaque saut (selon le manuel officiel).

Quand un paquet atteint la destination, celle-ci répond par [port unreachable] et le tracé s'arrête à ce saut ; sinon, il continue jusqu'au nombre maximal de sauts. Selon le manuel officiel, trois paquets sont envoyés par saut, donc chaque ligne affiche trois temps, et jusqu'à 30 sauts sont vérifiés par défaut.

Pour example.com, nous avons affiché uniquement les adresses avec -n et vérifié seulement jusqu'au dixième saut avec -m 10.

traceroute -n -m 10 example.com
traceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
 1  192.0.2.1  0.110 ms  0.083 ms  0.067 ms
 2  192.0.2.2  0.348 ms  0.273 ms  0.263 ms
 3  198.51.100.77  0.426 ms  0.337 ms 198.51.100.13  1.251 ms
 4  198.51.100.49  0.968 ms  1.264 ms 198.51.100.53  1.148 ms
 5  * * *
 6  203.0.113.19  1.631 ms 203.0.113.25  2.549 ms 203.0.113.14  1.543 ms
 7  203.0.113.154  1.544 ms  1.656 ms  1.607 ms

La première ligne a indiqué le nom de destination, l'adresse réellement utilisée, le nombre maximal de sauts et la taille de paquet de 60 octets. L'adresse de destination a répondu au septième saut, le tracé s'est donc arrêté sans aller jusqu'au dixième, et l'exécution complète a pris moins d'une seconde.

SortieSignification
traceroute to example.com (203.0.113.154)Nom de destination et adresse résolue vers laquelle les paquets sont réellement envoyés
10 hops maxNombre maximal de sauts vérifiés — défini avec -m, 30 par défaut
60 byte packetsTaille des paquets envoyés — 60 octets par défaut en IPv4, 80 octets en IPv6 (selon le manuel officiel)
1Numéro de saut — la valeur TTL de ce paquet
192.0.2.1Adresse du routeur qui a répondu à ce saut
0.110 ms 0.083 ms 0.067 msTemps aller-retour des trois paquets envoyés à un saut
198.51.100.77 … 198.51.100.13Ligne avec deux adresses, car des routeurs différents ont répondu à différents paquets au même saut
* * *Aucun des trois paquets n'a reçu de réponse à temps — chaque astérisque correspond à un paquet
!H · !N · !P · !XIndicateur d'inaccessibilité après le temps — hôte, réseau ou protocole inaccessible, interdiction administrative (selon le manuel officiel)

Les troisième et quatrième sauts ont affiché deux adresses sur une ligne, et le sixième saut trois. Quand des routeurs différents répondent aux trois paquets envoyés à un saut, traceroute affiche à la suite toutes les adresses qui ont répondu, comme l'indique le manuel officiel.

Sans -n, traceroute convertit les adresses qui répondent en noms d'hôte.

traceroute localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  server1 (127.0.0.1)  0.068 ms  0.048 ms  0.028 ms

Sur localhost, la colonne du saut a affiché le nom d'hôte du serveur Debian 12, suivi de l'adresse 127.0.0.1 entre parenthèses.

3️⃣ Options de traceroute

  • ↪️ -n, -q, -m et les modes d'envoi -I, -T

Le --help de traceroute 2.1.2 affiche 34 options. Parmi elles, nous avons essayé avec un compte standard du serveur Debian 12 -n, -q et -m, qui modifient la sortie, ainsi que -I et -T, qui modifient les paquets envoyés.

[traceroute -n] affiche uniquement les adresses IP, sans les convertir en noms d'hôte. Avec -n sur le même localhost, seule 127.0.0.1 est restée dans la colonne du saut.

traceroute -n localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.073 ms  0.075 ms  0.025 ms

-q définit le nombre de paquets envoyés par saut, 3 par défaut. Avec -q 1, un seul temps est apparu, et avec -q 5, cinq sont apparus.

traceroute -q 1 -n 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.096 ms
traceroute -q 5 -n 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.083 ms  0.028 ms  0.024 ms  0.022 ms  0.022 ms

-m modifie le nombre maximal de sauts vérifiés. La valeur 256 a été refusée avec [max hops cannot be more than 255].

traceroute -m 256 -n 127.0.0.1
max hops cannot be more than 255

Par défaut, les paquets sont envoyés en UDP. -I les envoie en ICMP ECHO, et -T en TCP SYN (port 80 par défaut). Ces deux options servent à revérifier avec un autre type de paquet un chemin qui filtre l'UDP. Avec un compte standard, les deux options ont laissé un message de droits insuffisants et se sont terminées avec le code de sortie 1.

traceroute -I -n 127.0.0.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted
traceroute -T -n 127.0.0.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted

Le manuel officiel indique le mode par défaut et -U (port de destination 53 fixe) comme les modes autorisés pour les comptes standard. -I ne fonctionne avec un compte standard que si le réglage du noyau ping_group_range autorise le groupe de ce compte.

cat /proc/sys/net/ipv4/ping_group_range
1	0

La valeur du serveur Debian 12 était [1 0], qui selon la documentation du noyau Linux n'autorise aucun groupe. -T ne fait pas partie des modes autorisés pour les comptes standard, quel que soit ce réglage : exécutez donc ces deux options depuis un compte disposant des droits root.

📌 Options principales : résultats de cet article

OptionRôleRésultat dans cet article
-nAffiche uniquement les adresses IP, sans les convertir en noms d'hôteSur localhost, seule 127.0.0.1 est restée dans la colonne du saut
-qDéfinit le nombre de paquets envoyés par saut (3 par défaut)-q 1 affiche un temps, -q 5 en affiche cinq
-mDéfinit le nombre maximal de sauts vérifiés (30 par défaut)Avec -m 10, example.com s'est arrêté au septième saut ; -m 256 a été refusé avec [max hops cannot be more than 255]
-IEnvoie les paquets en ICMP ECHOMessage de droits insuffisants et code de sortie 1 avec un compte standard
-TEnvoie les paquets en TCP SYN (port 80 par défaut)Message de droits insuffisants et code de sortie 1 avec un compte standard
-UEnvoie en UDP avec le port de destination fixé à 53example.com a affiché * * * du septième au dixième saut, et l'adresse de destination n'est pas apparue

📎 Autres options : selon le manuel officiel

OptionRôle
-wDéfinit le temps d'attente maximal d'une réponse (5 secondes par défaut)
-pDéfinit le port (port de départ en UDP, port de destination fixe en TCP, numéro de séquence de départ en ICMP)
-fDéfinit le TTL de départ (1 par défaut)
-NDéfinit le nombre de paquets envoyés en même temps (16 par défaut, à réduire avec les routeurs qui limitent leur débit de réponse)
-sRemplace l'adresse source par une autre adresse d'interface du serveur
-iDéfinit l'interface réseau de sortie des paquets (par défaut, selon la table de routage)
-4Envoie uniquement en IPv4 (IPv4 par défaut si un nom renvoie des adresses IPv4 et IPv6)
-6Envoie uniquement en IPv6

🔲 Simulateur de la commande traceroute

Dans le simulateur ci-dessous, vous pouvez raccourcir le chemin vers example.com avec -m, ou essayer sur 127.0.0.1 et localhost -n, -q, -f (saut de départ) ainsi que -I et -T, qui demandent des droits.

Simulateur de la commande traceroutetraceroute 2.1.2
[root@server work]#
Fonctionne uniquement dans votre navigateur et n'envoie aucun vrai paquet. Utilisez ↑↓ pour rappeler les commandes précédentes.

4️⃣ Sauts sans réponse dans traceroute

  • ↪️ Lignes * * * et pare-feu

Même si vous pouvez changer le mode d'envoi, un saut qui ne répond pas reste affiché [* * *]. Selon le manuel officiel, chaque astérisque correspond à un paquet sans réponse à temps, et l'attente est de 5 secondes au maximum.

Devant * * * sur un saut intermédiaire, on conclut facilement que le chemin est coupé à cet endroit. Sur le chemin vers example.com envoyé avec le mode par défaut, seul le cinquième saut était * * *, mais les paquets ont franchi ce saut, sont passés par le sixième et ont atteint la destination au septième.

-U envoie avec le port de destination fixé à 53. En envoyant des paquets au même example.com avec -U, le routeur situé devant la destination a répondu au sixième saut, puis * * * s'est répété du septième au dixième saut sans que l'adresse de destination n'apparaisse.

traceroute -U -n -m 10 example.com
traceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
 1  192.0.2.1  0.176 ms  0.096 ms  0.661 ms
 2  * * *
 3  198.51.100.13  0.622 ms  0.586 ms  0.562 ms
 4  198.51.100.49  0.898 ms  1.314 ms 198.51.100.53  1.159 ms
 5  * * *
 6  203.0.113.9  3.773 ms 203.0.113.27  3.275 ms 203.0.113.14  8.973 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *

Le manuel officiel explique qu'avec -U, le programme côté destination ne répond généralement pas, si bien que le dernier saut reste invisible. Sur un chemin où un pare-feu filtre les ports UDP de traceroute ou ICMP ECHO, aucune réponse ne vient non plus de derrière ce pare-feu, et seuls des * * * se suivent.

Emplacement de * * *Comment le lireRevérifier
Un seul saut intermédiairePas de réponse de ce saut — si les sauts suivants répondent, les paquets l'ont franchiLaissez-le et lisez les sauts suivants
Avant la destination, jusqu'à -mLa destination ou un pare-feu placé devant filtre ce paquet ou ce port (selon le manuel officiel)Mode par défaut, -T (root), [-T -p port]
Sauts qui changent à chaque exécutionSi un routeur limite son débit de réponse ICMP, certaines réponses peuvent manquer (selon le manuel officiel)[-N 1] · [-w 5]

Si le tracé s'est arrêté avant la destination, changez de mode d'envoi et vérifiez à nouveau. Le manuel officiel présente -T comme un mode conçu pour traverser les pare-feu. Pour une destination dont un port est clairement ouvert, comme un serveur de messagerie, il explique qu'indiquer ce port comme dans [-T -p 25] peut aboutir même lorsque -I n'y parvient pas.

Le * d'un saut intermédiaire peut aussi varier selon le mode d'envoi ou l'exécution. Le deuxième saut a répondu avec le mode par défaut, mais a affiché * * * avec -U. Le manuel officiel indique que certaines réponses peuvent manquer si un routeur limite son débit de réponse ICMP, et conseille de réduire le nombre de paquets envoyés en même temps avec [-N 1]. traceroute raccourcit aussi son attente d'après les temps de réponse déjà reçus ; si un * apparaît trop tôt pour cette raison, indiquez un seul temps d'attente comme dans [-w 5] pour désactiver ce calcul (selon le manuel officiel).

5️⃣ tracepath à la place de traceroute

  • ↪️ Sur les serveurs où l'installation est difficile

Sur un serveur où vous ne pouvez pas installer de paquets, vérifiez le même chemin avec la commande tracepath. Le serveur AlmaLinux 9.8 n'avait pas traceroute, mais tracepath y était présent avec iputils 20210202. À l'inverse, le serveur Debian 12 n'avait pas tracepath. Selon le manuel officiel de tracepath, il s'exécute sans droits root, mais offre moins d'options et n'envoie que de l'UDP. Si vous devez donc changer de mode d'envoi avec -I ou -T, ou envoyer plusieurs paquets par saut avec -q pour les comparer, installez et utilisez traceroute.

🔢 FAQ & contenus recommandés

Non, le code de sortie ne l'indique pas. Il valait 0 aussi bien quand le mode par défaut a atteint example.com au septième saut que quand -U ne l'avait toujours pas atteint au dixième. Les options incorrectes, les valeurs de -m hors limites et les échecs de résolution de nom se sont terminés par 2, et -I et -T avec un compte standard par 1. Le code de sortie ne distingue que les erreurs d'exécution : pour savoir si la destination a été atteinte, vérifiez si la dernière ligne affiche son adresse.

Selon la documentation de Microsoft, tracert sous Windows envoie des ICMP Echo Request en augmentant le TTL, alors que traceroute sous Linux envoie par défaut des paquets UDP (selon le manuel officiel). Pour vérifier sous Linux avec le même mode ICMP que tracert, ajoutez -I.

Si vous définissez le premier TTL avec -f, la sortie commence à ce saut. La valeur par défaut est 1 selon le manuel officiel, et -f 2 sur 127.0.0.1 a fait commencer les numéros de saut à 2. Quand le saut maximal est inférieur au saut de départ, comme avec -m 0, la commande a été refusée avec [first hop out of range].

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain : 9   +   4   =