Wenn ichKlingelnDiedie letzten drei Hopseines Traceroute-Pfades zu facebook.com von meinem Standort aus, die ICMP-Echo-Antwort-Pakete, die ich zurückbekomme, haben alle eineTTLvon bzw.58, 57 und 56. Bei den fraglichen Hops handelt es sich um den 6., 7. und 8. Hop von meiner Maschine.
Auf der anderen SeiteTTLs von ICMP-Zeitüberschreitungsnachrichtenfür Pakete, die in diesen drei Hops ablaufen, haben alle einen sinnvollen Wert: 246, 248, 249.
Jetzt dieder Weg zurückist vielleicht nicht dasselbe wie dasVorwärtspfadund es ist möglicherweise für ICMP-Nachrichten unterschiedlichen Typs nicht dasselbe.
Aber woher könnte dieser Unterschied kommen? Ein 200-HopZyklusentlang des Pfads? Oder werden ICMP-Echoantwortpakete mit einer niedrigen TTL (viel niedriger als 255: kommt das überhaupt vor?) generiert?
Antwort1
Wie vom Benutzer kwaio vorgeschlagen, der Standard-TTL-Wert (oder ein allgemeiner TTL-Wert), der beim Generieren verwendet werden sollICMP Echo-AnforderungUndEcho-AntwortPakete ist 64
.
In meinem Fall antworteten die ersten Router entlang des von mir ausgewählten Pfads mit einer Echo-Antwort-Nachricht mit TTL=255 (an der Quelle), während die letzten mit TTL=64 antworteten.
Es scheint vielmehr, dassICMP-Zeit überschrittenIn allen Fällen wurden Nachrichten mit einem TTL von 255 erstellt.
Nach einigem Suchen fand ich heraus, dass verschiedene Anbieter und verschiedene Betriebssysteme unterschiedliche anfängliche TTLs für verschiedene Protokolle verwenden: binbert.com/blog/2009/12/default-time-to-live-ttl-values
Eine interessante Folge davon ist, dass Sie den Hersteller eines bestimmten Routers identifizieren können, indem Sie ein Paket auf ihm ablaufen lassen und ihm einen Ping senden. Weitere Details hier: TTL-basiertes Fingerprinting und MPLSund der vollständige Artikel:„Netzwerk-Fingerprinting: TTL-basierte Router-Signaturen“.