Retour à l'accueil
ROOT‑ME · Défi : Analyse de capture réseau

IP — Time To Live

Catégorie : Analyse de capture réseau — Points : 15 — Difficulté : ⭐ (1/5) — Auteur : g0uZ
Rédigé par SPECTRA MZ — détermination du TTL nécessaire pour atteindre une cible via ICMP.

ROOT‑ME ICMP TTL Traceroute Wireshark

Présentation du challenge

📜 ÉNONCÉ OFFICIEL

Retrouvez le TTL employé pour atteindre l'hôte ciblé par cet échange de paquets ICMP.

ÉlémentValeur
ChallengeIP — Time To Live
PlateformeRoot‑Me
CatégorieAnalyse de capture réseau
Points15
DifficultéFacile
Auteurg0uZ
Validations51 304 (13%)

Un fichier de capture réseau (PCAP) est fourni. L’objectif est de déterminer, par analyse des paquets, la valeur du TTL nécessaire pour atteindre la machine ciblée.

Vocabulaire clé

TTL (Time To Live)
Champ de 8 bits dans l’en‑tête IPv4. Il est décrémenté par chaque routeur ; quand il atteint 0, le paquet est détruit et une erreur ICMP Type 11 est renvoyée.
ICMP
Internet Control Message Protocol — protocole de signalisation utilisé notamment par ping (Echo Request/Reply) et pour les messages d’erreur.
Echo Request (Type 8)
Requête de ping envoyée par l’initiateur.
Echo Reply (Type 0)
Réponse à un Echo Request ; indique que la cible est joignable.
TTL exceeded (Type 11)
Message renvoyé lorsqu’un paquet expire en cours de route ; utilisé par traceroute pour cartographier le chemin.
Traceroute
Outil qui envoie des paquets avec des TTL croissants pour identifier chaque routeur sur le chemin vers une destination.

Théorie du TTL et du traceroute

Principe du TTL

Le TTL est un compteur de sauts (hops). Chaque routeur traversé le diminue de 1. Lorsqu’il atteint 0, le paquet est détruit et une erreur ICMP Type 11 — Time-to-live exceeded est retournée à l’expéditeur. Ce mécanisme évite les boucles de routage infinies.

Le traceroute en pratique

Ordinogramme — Traceroute 1. Envoi d’un paquet avec TTL = 1 2. 1er routeur → expire → renvoie Type 11 3. Envoi avec TTL = 2 4. 2e routeur → expire → Type 11 N. Envoi avec TTL = n N+1. Cible répond Echo Reply (Type 0)

Le premier Echo Reply reçu indique que le TTL utilisé est suffisant pour atteindre la destination. Le nombre de sauts est alors égal à ce TTL.

TTL observé ≠ TTL initial
Le TTL que l’on voit dans un paquet capturé est le TTL restant après passage des routeurs. Pour connaître le TTL initial, il faut soit regarder la valeur dans la requête (Echo Request), soit calculer : TTL initial = TTL observé + nombre de sauts.

Analyse de la capture

Les acteurs

RôleAdresse IPLocalisation (GeoIP)
🖥️ Source (celui qui pingue)24.6.126.218Danville, États‑Unis
🎯 Cible198.173.244.32États‑Unis

Progression des TTL

La capture contient une séquence de pings avec des TTL croissants (de 1 à 13). Les premières requêtes (TTL 1 à 12) reçoivent des réponses Type 11 (Time-to-live exceeded) ; seule la requête avec TTL = 13 obtient un Echo Reply.

Capture Wireshark — Vue des trames ICMP
Capture Wireshark montrant les trames ICMP avec TTL croissants
On observe les requêtes avec TTL=9, 10, 11, 12 (no response) puis TTL=13 avec reply in 72 (Echo Reply).
TTL du pingRéponse reçueRésultat
1Type 11 (TTL exceeded)❌ Expire au 1er routeur
2Type 11❌ Expire au 2e routeur
12Type 11❌ Expire au 12e routeur
13 Type 0 (Echo Reply) Atteint la cible !

La trame gagnante (Frame 71)

Frame 71 — Echo Request avec TTL=13
Internet Protocol Version 4, Src: 24.6.126.218, Dst: 198.173.244.32
    Time to Live: 13          ← TTL initial du ping
    Protocol: ICMP (1)

Internet Control Message Protocol
    Type: 8 (Echo (ping) request)
    Code: 0
    [Response frame: 72]      ← 💎 LA PREUVE

La ligne [Response frame: 72] indique que la trame 72 contient la réponse. La cible a bien répondu → ce TTL est le bon.

Vérification croisée

Dans la réponse (Frame 72), le TTL restant est de 51. Les valeurs de TTL initiales courantes sont 64, 128 ou 255. On calcule :

Calcul
64 (TTL initial présumé) − 51 (TTL restant) = 13 sauts

Le calcul confirme parfaitement le résultat : 13 sauts séparent la source de la cible.

🏁 Le Flag

Le TTL employé pour atteindre l’hôte ciblé est :

Flag final
13

La validation se fait en soumettant cette valeur sur la page du challenge Root‑Me.

Reproduire l’analyse avec tshark

Pour les curieux, voici comment extraire les informations clés en ligne de commande :

tshark
# Lister toutes les trames ICMP avec leur TTL
tshark -r capture.pcap -Y "icmp" -T fields -e frame.number -e ip.ttl -e icmp.type

# Filtrer uniquement les echo requests et leurs réponses
tshark -r capture.pcap -Y "icmp.type == 8 || icmp.type == 0" -T fields -e frame.number -e ip.ttl -e icmp.type

# Trouver la première requête qui reçoit une réponse (echo reply)
tshark -r capture.pcap -Y "icmp.type == 0" -T fields -e frame.number -e ip.ttl

Leçons à retenir

  • Le TTL observé ≠ TTL initial : le TTL diminue à chaque routeur. TTL observé = TTL initial − nombre de sauts.
  • Type 11 = échec : un message « Time-to-live exceeded » signifie que le paquet a expiré avant d’atteindre sa destination.
  • Type 0 = succès : la présence d’un echo reply indique que la cible est atteinte avec ce TTL.
  • Analyser la séquence complète : ne jamais conclure sur une seule trame ; ici, seule la comparaison des requêtes successives permet de trouver la réponse.
  • Double vérification : croiser deux méthodes (premier echo reply + calcul 64−TTL_restant) rend l’analyse irréfutable.

Ce challenge illustre parfaitement le fonctionnement du TTL et du traceroute. En suivant la progression des paquets ICMP, on détermine en quelques minutes le nombre de sauts vers la cible. C’est une compétence de base essentielle en analyse réseau et en investigation forensique : savoir lire un en‑tête IP, comprendre les types ICMP et reconstituer une communication à partir d’une PCAP.

Quiz – Validation des acquis

Clique sur une question pour révéler la réponse.

Q1Que signifie « TTL » dans un en‑tête IP ?+
→ Time To Live — un compteur de sauts maximal pour un paquet.
Q2Quel type ICMP est renvoyé lorsque le TTL atteint 0 ?+
→ Type 11 — Time-to-live exceeded.
Q3À quoi correspond le premier Echo Reply reçu dans une séquence de traceroute ?+
→ Au TTL minimal nécessaire pour atteindre la destination.
Q4Si une réponse Echo Reply a un TTL restant de 51, et que le TTL initial le plus probable est 64, combien de sauts y a‑t‑il ?+
→ 13 sauts (64 − 51 = 13).
Q5Quel outil en ligne de commande peut extraire les TTL d’une capture PCAP ?+
tshark avec les options appropriées.