Traceroute est un outil réseau qui permet de suivre le chemin qu'un paquet de données (paquet IP) va prendre pour aller d'une machine A à une machine B.
Par défaut, le paquet est envoyé sur Internet mais le chemin emprunté par le paquet peut varier, en cas de panne d'un lien (les protocoles de routage comme BGP calculent alors un nouveau chemin) ou bien en cas de changement des connexions de l'un des opérateurs (connexion à un nouveau point d'échange, par exemple).
Après avoir été expédié au fournisseur d'accès, le paquet est transmis à des routeurs intermédiaires qui vont l'acheminer jusqu'à sa destination. Le paquet peut subir des transformations lors de son voyage. Il se peut aussi qu'il n'arrive jamais à destination si le nombre de nœuds intermédiaires est trop important.
Le principe de fonctionnement de Traceroute consiste à envoyer des paquets UDP (certaines versions peuvent aussi utiliser TCP ou bien ICMP avec des paquets ECHO Request, type 8) avec un TTL de plus en plus grand (en commençant à 1). Chaque routeur recevant un paquet IP en décrémente le TTL. Lorsque le TTL atteint 0, le routeur émet un paquet ICMP d'erreur (type 11, code 1). Traceroute découvre ainsi les routeurs de proche en proche.
Pour bien interpréter le résultat de traceroute, il faut garder en tête que :
Sous Windows, on utilise l'utilitaire tracert. Un outil similaire est disponible sur les stations Unix avec traceroute.
% traceroute fr.wikipedia.org traceroute to rr.knams.wikimedia.org (145.97.39.155), 30 hops max, 38 byte packets 1 80.67.162.30 (80.67.162.30) 0.341 ms 0.300 ms 0.299 ms 2 telehouse2-gw.netaktiv.com (80.67.170.1) 5.686 ms 1.656 ms 0.428 ms 3 giga.gitoyen.net (80.67.168.16) 1.169 ms 0.704 ms 0.563 ms 4 62.4.73.27 (62.4.73.27) 2.382 ms 1.623 ms 1.297 ms 5 ge5-2.mpr2.cdg2.fr.above.net (64.125.23.86) 1.196 ms ge9-4.mpr2.cdg2.fr.above.net (64.125.23.102) 1.290 ms ge5-1.mpr2.cdg2.fr.above.net (64.125.23.82) 30.297 ms 6 so-5-0-0.cr1.lhr3.uk.above.net (64.125.23.13) 41.900 ms 9.658 ms 9.118 ms 7 so-7-0-0.mpr1.ams5.nl.above.net (64.125.27.178) 23.403 ms 23.209 ms 23.703 ms 8 64.125.27.221.available.above.net (64.125.27.221) 19.149 ms so-0-0-0.mpr3.ams1.nl.above.net (64.125.27.181) 19.378 ms 64.125.27.221.available.above.net (64.125.27.221) 20.017 ms 9 PNI.Surfnet.ams1.above.net (82.98.247.2) 16.834 ms 16.384 ms 16.129 ms 10 af-500.xsr01.amsterdam1a.surf.net (145.145.80.9) 21.525 ms 20.645 ms 24.101 ms 11 kncsw001-router.customer.surf.net (145.145.18.158) 20.233 ms 16.868 ms 19.568 ms 12 gi0-24.csw2-knams.wikimedia.org (145.97.32.29) 23.614 ms 23.270 ms 23.574 ms 13 rr.knams.wikimedia.org (145.97.39.155) 23.992 ms 23.050 ms 23.657 ms
On voit ici que le paquet a transité via Londres ("lhr" est le code international de l'aéroport d'Heathrow) avant d'être acheminé vers Amsterdam "ams".
C:\WINDOWS>tracert fr.wikipedia.org Détermination de l'itinéraire vers rr.lopar.wikimedia.org [212.85.150.132] avec un maximum de 30 sauts: 1 24 ms 22 ms 22 ms 1.32.202.62.cust.bluewin.ch [62.202.32.1] 2 22 ms 24 ms 22 ms 1.32.202.62.cust.bluewin.ch [62.202.32.1] 3 24 ms 23 ms 22 ms net481.bwrt2zhb.bluewin.ch [195.186.121.1] 4 314 ms 162 ms 22 ms net125.bwrt1inb.bluewin.ch [195.186.125.71] 5 34 ms 23 ms 24 ms if114.ip-plus.bluewin.ch [195.186.0.114] 6 27 ms 29 ms 29 ms i68geb-005-gig4-2.bb.ip-plus.net [138.187.130.158] 7 39 ms 39 ms 38 ms i00par-005-pos4-0.bb.ip-plus.net [138.187.129.34] 8 38 ms 320 ms 39 ms feth2-kara-ielo.freeix.net [213.228.3.203] 9 284 ms 39 ms 39 ms feth0-bestelle.tlcy.fr.core.ielo.net [212.85.144.6] 10 90 ms 158 ms 83 ms chloe.wikimedia.org [212.85.150.132]
Itinéraire déterminé.
Voici la syntaxe exacte sous Windows ainsi que les différentes options :
Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Options: -d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list.
-w timeout Wait timeout milliseconds for each reply.
Le paquet passe d'abord par des serveurs du fournisseur d'accès puis est dirigé rapidement vers le fournisseur qui héberge le serveur Chloe de Wikipédia.