Traceroute, ou tracert si vous vivez dans le monde Windows, est, avec ping, l'un des outils de dépannage réseau les plus utilisés. Comme son nom l'indique, traceroute tracera la route d'un ordinateur ou d'un périphérique connecté au réseau à un autre. C'est un outil très utile qui non seulement testera la connectivité à un hôte, mais révélera également beaucoup de choses sur le chemin pour y arriver et certains problèmes qui peuvent le tourmenter. Bien que traceroute soit un excellent outil, c'est aussi un outil plutôt limité et ne fait que tracer des routes. D'un autre côté, Nmap, un autre utilitaire bien connu – quoique pas autant – qui vient du monde Linux fournit un moyen de tracer la route vers un hôte mais il offre également de nombreuses fonctionnalités supplémentaires. En fait, les principales utilisations de Nmap sont la découverte de réseaux et l'analyse de ports. Aujourd'hui, nous examinons l'utilisation de Nmap pour traceroute.
Avant d'aborder l'explication réelle de l'utilisation de Nmap pour traceroute, nous commencerons par présenter l'utilitaire traceroute. Savoir ce que c'est mais, plus important encore, comment cela fonctionne vous aidera à mieux comprendre comment Nmap effectue le même type de tâche. Ensuite, nous présenterons brièvement l'utilitaire Nmap, en expliquant de quoi il s'agit, d'où il vient et à quoi il peut être utilisé. Nous suivrons cela en expliquant comment utiliser Nmap pour traceroute et expliquer comment Nmap effectue réellement la trace. Vous verrez que c'est radicalement différent de l'approche de traceroute. Et enfin, nous examinerons brièvement d'autres outils que vous pouvez utiliser pour tracer l'itinéraire entre deux appareils. Comme vous le verrez, de nombreuses options sont disponibles.
À propos de Traceroute
The definition of traceroute from Wikipedia is very clear: “Traceroute is a computer network diagnostic tool for displaying the route (path) and measuring transit delays of packets across an Internet Protocol (IP) network”. As good as that description is, it kind of fails to give much detail about what it is concretely and how it works. Let’s explain. Traceroute will tell you the IP address of every router located between your computer and the remote computer. But that’s not all, traceroute will also report on the network delay between each of these routers.
Traceroute est un outil très ancien. La première version est sortie en 1987. C'est il y a plus de 30 ans ; une éternité en années informatiques. C'est aussi un outil très courant. Introduit pour la première fois sur le système d'exploitation Unix, il est désormais présent sur tous les systèmes d'exploitation de type Unix, y compris Linux et Mac OS. Il a même finalement été porté sur la plate-forme Windows où il a été renommé en tracert en raison de la limite initiale de 8 caractères sur les noms de fichiers dans Windows.
Traceroute est un outil que tout administrateur réseau doit comprendre et utiliser. Malheureusement, bon nombre de ses utilisateurs ne comprennent pas complètement son fonctionnement et peuvent donc se heurter à certains des pièges de l'utilitaire. Par exemple, le chemin pourrait être asymétrique avec le trafic en prenant un itinéraire différent de celui du trafic sortant et l'outil ne le verrait pas.
Opération Traceroute
Tout d'abord, quelques prérequis. Internet, ou n'importe quel réseau IP, d'ailleurs, est constitué de routeurs interconnectés. Les routeurs communiquent entre eux, échangeant des informations sur les réseaux qu'ils savent atteindre. Ils utilisent ces informations pour créer des tables de routage. Chaque fois qu'un paquet de données atteint un routeur, il recherche la destination dans sa table de routage et l'envoie au routeur suivant sur le chemin. Le routeur ne connaît que le routeur suivant et n'a aucune idée du chemin complet. Ce n'est pas nécessaire.
In order to limit propagation delays due to excessive routing hops, the header of every data packet contains a field of data called the TTL or Time To Live. This is a true misnomer as the value of the TTL has nothing to do with time but everything to do with distance instead. When a packet leaves its origin, the TTL is set to 32. From then on, every router that handles it along the path to the destination decrements the TTL by one before routing the packet. When the TTL value reaches zero, a router will not route the packet and will instead return an ICMP “Time Exceeded” message back to the packet’s origin.
Traceroute exploits this error detection and reporting system to perform its feat. Traceroute will first send a packet to the destination with the TTL set to 1. The very first router on the path will decrement the TTL and return the Time Exceeded message, allowing traceroute to learn about the IP address of that first router–or hop, as it is often referred to. Traceroute will then send another packet with the TTL set to 2 and learn about the second hop. And it will keep doing that, incrementing the TTL each time until it eventually gets a response from the destination, telling it that it has been reached.
Traceroute mesure également généralement le temps nécessaire pour obtenir chaque réponse successive, ce qui lui permet de créer une table du temps de réponse pour chaque saut. Il effectuera souvent également une recherche DNS de l'adresse IP de chaque saut pour afficher le FQDN de chaque hôte au lieu de simplement leurs adresses IP dans ses résultats.
Les défauts de Traceroute
Pour l'explication précédente, vous aurez compris qu'en raison de son fonctionnement, traceroute ne vous montrera que le chemin vers la destination. Il n'a cependant aucun moyen de découvrir le chemin du retour. Cela pourrait être un problème, en particulier dans les situations où le chemin de retour est en quelque sorte retardé. Traceroute mesure le temps qu'il faut pour obtenir chaque réponse, mais il n'a aucun moyen de savoir si des retards ont été rencontrés sur le chemin de la destination ou sur le chemin du retour, fournissant potentiellement des résultats trompeurs.
Il existe également un problème potentiel avec les destinations dont la charge est équilibrée sur plusieurs hôtes. Rien ne garantit à un utilisateur traceroute que chaque paquet successif est envoyé au même hôte à charge équilibrée. Et si les deux hôtes se trouvent dans des emplacements différents, cela pourrait conduire à des résultats inexacts.
Enfin, pour des raisons évidentes de sécurité, certains routeurs sont configurés pour ne pas répondre au type de requêtes utilisées par traceroute. Cela n'empêchera pas traceroute de fonctionner et l'utilitaire ignorera simplement ces sauts et les signalera comme inaccessibles. Cependant, certains outils plus avancés, tels que Nmap, peuvent utiliser différents types de paquets pour leur découverte de chemin, atténuant ainsi le risque de sauts sans réponse.
Présentation de Nmap
Nmap, qui signifie « Network Mapper », est un utilitaire gratuit et open source pour l'exploration du réseau et l'audit de sécurité. Il a été conçu pour analyser rapidement de grands réseaux, mais il fonctionne tout aussi bien contre des hôtes uniques. Nmap utilise des paquets IP bruts de manière innovante pour déterminer quels hôtes sont disponibles sur le réseau, quels services (nom et version de l'application) ces hôtes offrent, quels systèmes d'exploitation (et versions de système d'exploitation) ils exécutent, quel type de filtres de paquets/pare-feu sont en cours d'utilisation, et des dizaines d'autres caractéristiques. Nmap est principalement utilisé pour les audits de sécurité, mais de nombreux administrateurs système et réseau l'utilisent pour des tâches de routine telles que l'inventaire du réseau, la gestion des programmes de mise à niveau des services et la surveillance de la disponibilité de l'hôte ou du service.
Voici un aperçu de tout ce pour quoi Nmap peut être utilisé :
- Découverte d'hôte
- Découverte/énumération des ports
- Découverte de services
- Operating system version detection
- Hardware (MAC) address detection
- Service version detection
- Vulnerability / exploit detection, using Nmap scripts (NSE)
- Network path discovery (traceroute)
Nmap was created by Gordon Lyon (A.K.A. Fyodor Vaskovich) and originally distributed under the GNU Public License (GPL). Unsatisfied with some of the terms of the license, the authors eventually added clarifications and specific interpretations to the license where they felt the GPL was unclear or lacking.
Using Nmap For Traceroute
Using Nmap to perform a traceroute is super easy. All you have to do is add the –traceroute option to the command. For instance:
nmap 64.13.134.52 --traceroute
The –traceroute option can be used together with most types of Nmap scans except connect scans (-sT) and idle scans (-sI). The tracing is performed post-scan using information gleaned from the scan results to determine the port and protocol most likely to reach the target. All traces use Nmap’s dynamic timing model and are performed in parallel.
Contrary to the original traceroute utility described above, Nmap’s traceroute starts with a high TTL and then decrements it until it reaches zero. Doing it backwards (as compared with traceroute) lets Nmap employ clever caching algorithms to speed up traces over multiple hosts. On average Nmap sends 5 to 10 fewer packets per host, depending on network conditions.
A Few Other Traceroute Tools You May Want To Try
Traceroute (or tracert) and Nmap are not the only tools you can use to trace network paths. In fact, many tools are available from various vendors. Some claim to do it faster, some will succeed where others fail by using different ports and packet types to do their thing. Let’s review a few of the best traceroute tools we could find. It will give you an idea of what’s available.
The last two tools on our list are online tools. They essentially perform the same type of test as any traceroute, but they do it from an origin on the Internet. Most such services let you select the point of origin with the best ones offering options in multiple countries. Their primary use is in identifying how website users reach your site.
1. Traceroute NG From SolarWinds (FREE DOWNLOAD)
SolarWinds is a well-known name in the field of network management tools. The company makes some of the best monitoring tools starting with its flagship product, the Network Performance Monitor, a complete network monitoring solution. SolarWinds also has a solid reputation for making great free tools that address specific needs of network administrators. Traceroute NG is one such tool.
Traceroute NG leverages the SolarWinds Netpath technology to offer continuous TCP and ICMP tracing. It claims to be faster than other traceroute utilities and to return results in mere seconds. Of course, this mostly depends on the network.
But Traceroute NG not only improves on the speed of traceroute. It also returns quite a bit more information, giving you a deeper insight into the situation. For each hop, the tool will use ping to return the packet loss percentage, the current and average response time as well as a latency bar graph. Also important, Traceroute NG will use a reverse DNS lookup to find and display the Fully Qualified Domain Name, or FQDN, of each hop.
Another great feature of Traceroute NG is its automatic detection of path changes. If there are multiple paths to a given host, the tool will figure it out and display each path individually. This is very useful when troubleshooting load-balanced environments. The tool will also let you choose to perform the test using either TCP or ICMP packets. This can be useful if some device along the path blocks ICMP, for example. And last but not least, this tool will write the results of its test to a .txt log file.
Traceroute NG runs on Windows only but, deceptively, it’s not a true Windows application. While it does run under the Windows operating system and is displayed within a window, it is mostly a text-based tool. But then again, would a GUI increase the tool’s usefulness? Probably not.
L'outil, qui est téléchargé sous forme de fichier .zip ne nécessite aucune installation mais il s'appuie sur Winpcap qui doit être installé s'il n'est pas déjà présent sur votre ordinateur. Traceroute NG détectera cependant son absence au démarrage et lancera automatiquement le programme d'installation de Winpcap qui est inclus dans le fichier .zip.
2. Ouvrez Visual Traceroute
Si ce que vous recherchez est un véritable outil de traceroute basé sur une interface graphique, Open Visual Traceroute pourrait être exactement ce dont vous avez besoin. L'outil, qui est disponible pour Windows, la plupart des versions de Linux ou Mac OS est tout simplement incroyable. Et pour rendre les choses encore mieux, l'outil est gratuit et open-source, publié sous la licence LGPL V3.
Le composant principal de ce logiciel est le Visual Traceroute en soi. Il s'agit d'un utilitaire visuel basé sur une interface graphique qui vous permettra de voir sur une carte du monde en 3D - ou en 2D si vous préférez - le chemin emprunté par les données pour aller de votre ordinateur à l'hôte cible. La carte peut être agrandie et défilée à volonté, offrant le niveau de détail souhaité.
Open Visual Traceroute est également livré avec quelques outils supplémentaires, ce qui en fait un produit encore plus utile. Tout d'abord, il y a un « renifleur de paquets ». Ce n'est pas un renifleur de paquets comme Wireshark, cependant. Son but est uniquement de vous permettre de voir quelles données sont envoyées dans les deux sens du système local vers Internet. Il existe également une fonction Whois qui extraira des informations sur les noms de domaine à partir d'Internet.
3. MTR (Mon Traceroute)
MTR was first developed by someone named Mike and the acronym stood for Mike’s Traceroute. Someone else has taken over and renamed it to My Traceroute but it’s still the same product. The software has been around since 1997. If its longevity is a testament to its quality, this ought to be a pretty good tool.
And it is. Functionally, it is almost identical–or at least very similar–to Traceroute NG reviewed above. The main differences between the two are that while the former is a Windows application, MTR runs on Linux and can be used with a GUI or from the command line.
Concrètement, MTR combine les fonctionnalités de traceroute et de ping dans un seul outil de diagnostic réseau. Lorsque vous exécutez le logiciel, il fonctionne d'abord exactement comme traceroute pour apprendre le chemin réseau vers un hôte spécifié. Une fois qu'il connaît le chemin, l'outil peut aller un peu plus loin. Il enverra une séquence de requêtes ICMP ECHO à chaque tronçon pour mesurer la qualité de la liaison vers chaque routeur. Et ce faisant, il affiche les statistiques mesurées à l'écran. En fait, il l'imprime sur la sortie standard, ce qui signifie qu'il peut être redirigé vers un fichier.
4. Outil de tracé visuel en ligne de Monitis (outil en ligne)
Monitis est une société TeamViewer qui fabrique une plate-forme de surveillance des performances de sites Web bien connue. Le service virtuel basé sur le cloud vous permettra de surveiller vos sites Web, serveurs, applications, etc., à tout moment et de n'importe où. Avec près d'un quart de million d'utilisateurs, il s'agit d'une plate-forme plutôt populaire.
Comme de nombreux autres fournisseurs, Monitis propose quelques outils gratuits sur son site Web. L' itinéraire de trace visuelle en ligne , malgré l'orthographe inhabituelle, est exactement ce qu'il dit. Il tracera l'itinéraire entre le serveur de Monitis et l'hôte que vous spécifiez et le tracera sur une carte du monde. Malheureusement, l'affichage de la carte inclut rarement tous les sauts. C'est normal car l'outil ne pourra pas géolocaliser chaque saut et certains hos ne répondront pas du tout. Et cela est vrai pour tout outil de ce type, pas seulement celui-ci.
If you scroll down the screen, you’ll see that the tool also present the information in a tabular form, much like a traditional traceroute tools would. You might also notice that, at the top of the tabular display, there are three tabs labelled United States, Europe, and Asia/Pacific. You’d be lead to think that clicking on a tab runs the test from a different source located in those three geographic areas but, looking at the results, it doesn’t seem to be the case. Both the table and the map display change from one tab to the other but I haven’t been able to figure out how they operate.
5. G-Suite.Tools Visual Traceroute (Online Tool)
Ne vous laissez pas tromper par son nom, G-Suite.Tools n'est en aucun cas lié à Google. Le site Web propose une poignée d'outils réseau et Internet utiles. Parmi ceux-ci se trouve un outil de traceroute visuel. Son utilisation est assez simple. Vous saisissez simplement une adresse IP ou un FQDN et cliquez sur le bouton TRACE. Très bientôt, une petite carte sur la page affichera visuellement le chemin d'accès à l'hôte spécifié.
Comme la plupart des autres outils similaires, un tableau est disponible. Il affiche l'adresse IP et le nom de domaine complet (lorsqu'ils peuvent être résolus) ainsi que le temps d'aller-retour cumulé pour chaque saut. Une chose que nous avons particulièrement appréciée de cet outil - et il est particulièrement bien adapté aux nouveaux arrivants - est la richesse d'informations sur le processus de traceroute qui peut être trouvée sur la page.
Pendant que vous y êtes, G-Suite.Tools propose quelques autres outils que vous voudrez peut-être utiliser. Chacun est facilement accessible à partir d'un menu ruban en haut de la page. Il y a la recherche DNS, la recherche Whois, le ping, mon adresse IP, l'emplacement de l'adresse IP ainsi qu'un outil pour vérifier le fonctionnement des adresses e-mail.