Quel port utilise traceroute ?
Réponse courte
Question piège : il n'existe pas de port unique pour traceroute. Le traceroute Unix classique envoie des datagrammes UDP vers des ports élevés et improbables à partir de 33434 environ, avec un TTL croissant ; le tracert de Windows utilise plutôt ICMP Echo. Il fonctionne en lisant les messages ICMP Time Exceeded que renvoient les routeurs à l'expiration du TTL, et non en visant un port réservé. Et ICMP lui-même n'a aucun port.
Cette question récompense les candidats qui comprennent comment fonctionne traceroute plutôt que ceux qui ont mémorisé un numéro de port. La prémisse — qu'il existe un seul « port traceroute » — est le piège.
Pourquoi il n'y a pas de port unique
Traceroute est une technique, pas un échange protocolaire fixe unique. L'outil Unix original de Van Jacobson envoie des datagrammes UDP vers un port de destination volontairement improbable et élevé, à partir de 33434 environ, en l'incrémentant à chaque sonde. Le tracert de Microsoft, lui, envoie des ICMP Echo Requests — et ICMP n'a aucun port, puisque les ports sont un concept de couche 4 et qu'ICMP réside en couche 3. De nombreux outils modernes peuvent aussi utiliser un SYN TCP vers un port choisi (souvent 80 ou 443) pour franchir les pare-feux. La réponse honnête est donc « cela dépend de l'implémentation ».
Le vrai mécanisme : le TTL
La partie astucieuse n'a rien à voir avec le port de destination. Traceroute envoie des paquets avec TTL = 1, puis 2, puis 3, et ainsi de suite. Chaque routeur qui décrémente le TTL à zéro rejette le paquet et renvoie un message ICMP Time Exceeded (type 11). En collectant les adresses sources de ces réponses, traceroute reconstitue le chemin saut par saut. Le dernier saut est identifié lorsque la sonde atteint réellement la destination : une sonde UDP vers un port élevé fermé provoque un ICMP Port Unreachable (type 3, code 3), qui signale « nous sommes arrivés ».
Pourquoi les distracteurs séduisent
La fausse réponse « port TCP 33434 » emprunte le vrai port de base Unix mais l'attache au mauvais protocole. « port ICMP 30 » invente un port pour un protocole qui n'en a pas. « port UDP 53 » joue sur la vraie idée d'évasion de pare-feu mais l'attribue à tort à DNS.
Ce que recherchent les recruteurs
Un « il n'y a pas de port fixe » assuré, plus l'explication du TTL et du Time Exceeded, et idéalement la remarque que Windows et Unix diffèrent. Cela démontre que vous comprenez le mécanisme, pas seulement un numéro de trivia.
Questions de suivi probables
- Comment l'astuce du TTL révèle-t-elle réellement chaque saut du chemin ?
- Pourquoi traceroute UDP et tracert ICMP peuvent-ils donner des résultats différents sur le même chemin ?
- Que signifie un saut affiché sous forme d'astérisques (aucune réponse) ?