Was bedeutet "***", wenn Traceroute

54

das ist das ergebnis meiner traceroute

traceroute 211.140.5.120

 1  141.1.31.2 (111.1.31.2)  0.397 ms  0.380 ms  0.366 ms
 2  141.1.28.38 (111.1.28.38)  3.999 ms  3.971 ms  3.982 ms
 3  142.11.124.193 (112.11.124.133)  1.315 ms  1.533 ms  1.455 ms
 4   (201.141.0.261)  2.615 ms  2.749 ms  2.572 ms
 5   (201.141.0.82)  2.705 ms  2.564 ms  2.680 ms
 6   (201.118.231.14)  5.375 ms  5.126 ms  5.252 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Ich möchte wissen, was der *** bedeutet und bedeutet das Ergebnis, dass wirklich mehr als 30 Hops zwischen meinem Host und dem Zielserver liegen?

Larry
quelle

Antworten:

45

Alle Implementierungen von Traceroute basieren auf ICMP-Paketen (Typ 11), die an den Absender gesendet werden.

Dieses Programm versucht, die Route zu verfolgen, indem es UDP-Testpakete mit einer kleinen ttl (time to live) startet und dann auf eine ICMP-Antwort von einem Gateway wartet, bei der die Zeit überschritten wurde. Es startet Probes mit einem TTL von eins und erhöht sich um eins, bis wir einen ICMP "Port nicht erreichbar" (was bedeutet, dass wir "Host" haben) oder einen Maximalwert erreichen (der standardmäßig 30 Hops beträgt und mit dem Flag -m geändert werden kann) ). Bei jeder Einstellung von ttl werden drei Prüfpunkte (Änderung mit Flag -q) gesendet, und eine Zeile wird gedruckt, in der die ttl, die Adresse des Gateways und die Umlaufzeit jedes Prüfpunkts angegeben sind (also drei *). Wenn innerhalb von 5 Sekunden keine Antwort erfolgt. Zeitüberschreitungsintervall (geändert mit dem Flag -w), für diese Sonde wird ein "*" ausgegeben.

In Ihrem Fall können wir daher den Schluss ziehen, dass wir nur bis 201.118.231.14 eine Antwort erhalten haben. Danach antworten die Knoten nicht mehr auf die ICMP-Pakete (Typ 11), bis zu Hop 30, der maximalen Lebenszeit (maximale Anzahl von Hops). Sie können die maximale Lebensdauer mit der Option -m verlängern.

Sachin Divekar
quelle
34

Traceoute benötigt eine Antwort vom Zielserver und von jedem der Zwischen-Hops, um seine Ausgabe zu erstellen. Wenn ein Router keine Time-to-live exceededAntwort generiert , weiß traceroute nichts über diesen Hop. Ein Hop, der ausgegeben wird, * * *bedeutet, dass der Router an diesem Hop nicht auf den Pakettyp reagiert, den Sie für die Traceroute verwendet haben (standardmäßig UDP unter Unix und ICMP unter Windows).

Wenn Sie dieselbe Traceroute-Version verwenden, können Sie -eversuchen, Firewalls zu umgehen und -PICMP-, TCP- oder GRE- Pakete anstelle von UDP zu verwenden. Sie können auch versuchen, einen bestimmten Port anzugeben, der wahrscheinlich nicht gefiltert wird (z. B. 80 oder 25) -p.

Möglicherweise gibt es andere Optionen, mit denen Sie eine Antwort erhalten. Überprüfen Sie die Manpage auf Traceroute .

Um den zweiten Teil Ihrer Frage zu beantworten: Nein, diese Traceroute bedeutet nicht, dass sich genau 30 Hops zwischen Ihnen und dem Zielserver befinden. Traceroute "gibt auf" nach einer bestimmten Anzahl von Hops. Dies geschieht durch Begrenzen der maximalen TTL in den Paketen, die unter Linux standardmäßig 30 beträgt. Sie können dies mit der -mOption ändern . Es kann mehr oder weniger Hopfen geben, aber da keiner von ihnen nach dem 6. reagiert, wissen wir es einfach nicht.

Ladadadada
quelle
2
Füge hinzu: Grundsätzlich, wenn Hop 30 aus irgendeinem Grund mit einer Antwort zurückkam; dann würden wir wissen, dass wir mindestens 30 Hopfen haben. (
Irgendwelche