Chaque paquet de données envoyé inclut une valeur TTL dans l'en-tête du paquet IP. Il s'agit du nombre de sauts que les données peuvent parcourir avant d'être supprimées. Sur la base du trafic réseau entre les hôtes, il est possible de prédire quel système d'exploitation s'exécute sur un système. Chaque système d'exploitation a sa propre façon d'implémenter la pile TCP/IP. Une méthode passive très simple mais efficace consiste à inspecter la durée de vie initiale (TTL) dans l'en-tête IP :
"Durée de vie dépassée" cette erreur de ping ICMP est due au fait que le champ de durée de vie (TTL) atteint une valeur nulle ou qu'il y a un délai d'attente pour le réassemblage des segments. Comme solution, je recommanderai d'augmenter la valeur TTL (Time To Live) (la plus élevée est 255).
Solution
Par exemple, exécutez traceroute vers l'adresse IP 8.8.8.8 (serveur DNS public de Google). Et trouver le nombre de sauts vers la destination.
[root@server ~]# traceroute 8.8.8.8 (in linux distro) C:\>tracert 8.8.8.8 (in Windows OS)
Pour moi, ses 6 sauts vers 8.8.8.8. Ainsi, une valeur TTL minimale de 6 est requise pour atteindre les paquets icmp à 8.8.8.8 et obtenir une relecture du ping. Et ne peut pas envoyer de ping à 8.8.8.8 avec une valeur TTL de 5 ou moins.
Résultats du ping avec différentes valeurs TTL :
[root@server ~]# ping 8.8.8.8 -t 5 (-t 5 is for custom TTL value of 5) PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. From 192.168.1.1 icmp_seq=1 Time to live exceeded From 192.168.1.1 icmp_seq=2 Time to live exceeded From 192.168.1.1 icmp_seq=3 Time to live exceeded From 192.168.1.1 icmp_seq=4 Time to live exceeded
# ping 8.8.8.8 -t 6 (-t 6 est pour une valeur TTL personnalisée de 6)
PING 8.8.8.8 (8.8.8.8) 56(84) octets de données.
64 octets depuis 8.8.8.8 :icmp_req=1 ttl=55 time=48.9 ms
64 octets depuis 8.8.8.8 :icmp_req=2 ttl=55 time=49.5 ms
64 octets depuis 8.8.8.8 :icmp_req=3 ttl=55 temps=50,4 ms
64 octets de 8.8.8.8 :icmp_req=4 ttl=55 temps=49,4 ms