Frage Was bedeutet "***" beim Traceroute?


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 das *** bedeutet und bedeutet das Ergebnis, dass es wirklich mehr als 30 Sprünge zwischen meinem Host und dem Zielserver gibt?


46
2017-11-23 10:35


Ursprung




Antworten:


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

Dieses Programm versucht die Trace-Route durch Starten von UDP-Probe-Paketen mit einer kleinen ttl (time-to-live), die dann auf eine ICMP- "time-exceeded" -Antwort von einem Gateway warten. Es beginnt testet mit einem ttl von eins und erhöht sich um eins, bis wir einen ICMP "port unreachable" erhalten (was bedeutet, dass wir "hosten" müssen) oder einen max treffen (der standardmäßig 30 Hops hat und mit dem Flag -m geändert werden kann). Drei Sonden (Änderung mit -q-Flag) werden bei jeder ttl-Einstellung gesendet und eine Zeile wird gedruckt, die den ttl, die Adresse des Gateways und die Umlaufzeit jeder Sonde zeigt (also drei *). Wenn innerhalb von 5 Sekunden keine Antwort erfolgt Timeout-Intervall (geändert mit dem Flag -w), ein "*" wird für dieses Probe gedruckt.

In Ihrem Fall können wir daraus schließen, dass wir nur bis 201.118.231.14 eine Antwort erhalten haben. Danach antworten die Knoten nicht auf die ICMP-Pakete (Typ 11) bis zum Sprung 30, was die maximale Zeit bis zum Leben ist (maximale Anzahl von Sprüngen). Sie können die max-time-to-live mit der Option -m erhöhen.


37
2017-11-23 11:12





TraceOute benötigt eine Antwort vom Zielserver und von jedem Zwischenhop, um seine Ausgabe zu erstellen. Wenn ein Router kein a erzeugt Time-to-live exceeded Antwort, Traceroute wird nichts über diesen Hop wissen. Ein Hop, der ausgibt * * * bedeutet, dass der Router an diesem Hop nicht auf den Typ des Pakets reagiert, das Sie für die Traceroute verwendet haben (standardmäßig ist es UDP unter Unix-like und ICMP unter Windows).

Wenn Sie die gleiche Version von Traceroute verwenden, können Sie versuchen, die -e Option zu versuchen, Firewalls und die zu umgehen -P Option zur Verwendung von ICMP, TCP oder GRE Pakete statt UDP. Sie können auch versuchen, einen bestimmten Port anzugeben, der wahrscheinlich nicht gefiltert wird (z. B. 80 oder 25) -p Möglichkeit.

Es kann andere Optionen geben, die Ihnen helfen, eine Antwort zurück zu erhalten. Überprüf den man-Seite für Traceroute.

Um den zweiten Teil Ihrer Frage zu beantworten, nein, diese Traceroute bedeutet nicht, dass es genau 30 Sprünge zwischen Ihnen und dem Zielserver gibt. Traceroute "gibt nach einer bestimmten Anzahl von Hops auf". Dies geschieht, indem die maximale TTL in den Paketen begrenzt wird, die standardmäßig unter Linux 30 ist. Dies können Sie mit den -m Möglichkeit. Es kann mehr oder weniger Sprünge geben, aber da keiner von ihnen nach dem 6. antwortet, wissen wir einfach nicht.


32
2017-11-23 10:50



Hinzufügen: Grundsätzlich, wenn aus irgendeinem Grund hop 30 mit einer Antwort zurückkam; dann würden wir wissen, dass wir mindestens 30 Hopfen haben. (Ignorieren jeglicher Tricks) - user606723