GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 UNIX / Linux Traceroute-Befehlsbeispiele

Es gibt Szenarien, in denen man wissen möchte, welcher Route eine Verbindung folgt. Mit Route meinen wir hier die IP-Adressen aller Weiterleitungseinheiten (wie Router dazwischen).

Es gibt zwar keine Garantie dafür, dass die Route für alle Pakete einer Verbindung gleich bleibt, aber normalerweise ist sie gleich. Diese routenbezogenen Informationen können beim Debuggen von Netzwerkproblemen sehr nützlich sein.

Das Traceroute-Dienstprogramm druckt die vollständige Route zu einem bestimmten Ziel aus. In diesem Artikel werden wir diskutieren, wie Traceroute funktioniert, und einige praktische Beispiele sehen.

Wie Traceroute funktioniert?

Bevor wir mit Beispielen beginnen, wollen wir das Konzept verstehen, nach dem Traceroute funktioniert.

Das Traceroute-Dienstprogramm verwendet das TTL-Feld im IP-Header, um seinen Betrieb zu erreichen. Für Benutzer, die neu im TTL-Feld sind, beschreibt dieses Feld, wie viele Sprünge ein bestimmtes Paket benötigt, während es im Netzwerk unterwegs ist.

Dies umreißt also effektiv die Lebensdauer des Pakets im Netzwerk. Dieses Feld ist normalerweise auf 32 oder 64 eingestellt. Jedes Mal, wenn das Paket auf einem zwischengeschalteten Router gehalten wird, verringert es den TTL-Wert um 1. Wenn ein Router den TTL-Wert von 1 in einem empfangenen Paket findet, wird dieses Paket nicht weitergeleitet, sondern stattdessen verworfen.

Nach dem Verwerfen des Pakets sendet der Router eine ICMP-Fehlermeldung „Zeit überschritten“ zurück an die Quelle, von der das Paket generiert wurde. Das zurückgesendete ICMP-Paket enthält die IP-Adresse des Routers.

Nun ist also leicht verständlich, dass Traceroute so funktioniert, dass Pakete mit einem TTL-Wert gesendet werden, der bei 1 beginnt und dann jedes Mal um eins erhöht wird. Jedes Mal, wenn ein Router das Paket empfängt, überprüft er das TTL-Feld, wenn das TTL-Feld 1 ist, dann verwirft er das Paket und sendet das ICMP-Fehlerpaket, das seine IP-Adresse enthält, und das ist es, was Traceroute erfordert. Daher ruft Traceroute inkrementell die IP aller Router zwischen der Quelle und dem Ziel ab.

Sie sollten auch die IP-Header-Felder verstehen, die wir vor einiger Zeit besprochen haben.

Traceroute-Beispiele

1. Wie wird Traceroute ausgeführt?

$ traceroute <server-name>

Der obige Servername ist der Zielname oder die IP-Adresse. Beispielsweise wird Traceroute verwendet, um den Netzwerkpfad von meinem Computer zu google.com zu finden:

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.174 ms  89.094 ms  89.054 ms
2  115.255.239.65 (115.255.239.65)  109.037 ms  108.994 ms  108.963 ms
3  124.124.251.245 (124.124.251.245)  108.937 ms  121.322 ms  121.300 ms
4  * 115.255.239.45 (115.255.239.45)  113.754 ms  113.692 ms
5  72.14.212.118 (72.14.212.118)  123.585 ms  123.558 ms  123.527 ms
6  72.14.232.202 (72.14.232.202)  123.499 ms  123.475 ms  143.523 ms
7  216.239.48.179 (216.239.48.179)  143.503 ms  95.106 ms  95.026 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  94.980 ms  104.989 ms  104.954 ms

Jede Zeile gibt die Details der Interaktion mit jedem angetroffenen Router an. Wir sehen also, dass Traceroute nicht nur die IP-Adressen der zwischengeschalteten Router angibt, sondern auch drei Umlaufzeiten für diesen bestimmten Router, da die Traceroute-Befehle für jeden Router drei Pakete abfeuern.

Das '*'-Feld in der Ausgabe

Es kann vorkommen, dass in der Ausgabe ein „*“ anstelle eines Werts auftritt. Dies zeigt, dass das erforderliche Feld nicht abgerufen werden konnte. Der Grund kann alles Mögliche sein, von einem fehlgeschlagenen Reverse-DNS-Lookup über Pakete, die den Zielrouter nicht erreichen, bis hin zu Paketen, die auf dem Rückweg verloren gehen. Wir sehen also, dass es viele Gründe geben könnte, aber für all diese Fälle liefert das Traceroute-Dienstprogramm ein * in der Ausgabe.

2. Zuordnung von IP-Adressen und Hostnamen deaktivieren

Traceroute bietet eine Option, durch die die Zuordnung von IP-Adressen zu Hostnamen (die Traceroute versucht) deaktiviert wird. Die Option dafür ist ‚-n‘ . Das folgende Beispiel veranschaulicht dies:

$ traceroute google.com -n
traceroute to google.com (173.194.36.7), 30 hops max, 60 byte packets
1  220.224.141.129  109.352 ms  109.280 ms  109.248 ms
2  115.255.239.65  131.633 ms  131.598 ms  131.573 ms
3  124.124.251.245  131.554 ms  131.529 ms  131.502 ms
4  115.255.239.45  131.478 ms  131.464 ms  199.741 ms
5  72.14.212.118  199.674 ms  199.637 ms  199.603 ms
6  209.85.241.52  199.578 ms  199.549 ms  209.838 ms
7  209.85.241.187  199.488 ms  177.264 ms  177.196 ms
8  173.194.36.7  177.159 ms  187.463 ms  187.434 ms

Wir sehen also, dass in der Ausgabe kein Hostname angezeigt wird.

3. Antwortwartezeit konfigurieren

Die Zeit, die das Traceroute-Dienstprogramm nach dem Ausgeben eines Probe wartet, kann ebenfalls konfiguriert werden. Dies kann über die bereitgestellte Option „-w“ erfolgen. Die Option -w erwartet einen Wert, den das Dienstprogramm als Antwortzeit akzeptiert, auf die gewartet werden soll. In diesem Beispiel beträgt die Wartezeit 0,1 Sekunden und das Traceroute-Dienstprogramm konnte nicht auf eine Antwort warten und hat alle *s ausgegeben.

$ traceroute google.com -w 0.1
traceroute to google.com (74.125.236.101), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
..
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Wir sehen also, dass Traceroute 30 Versuche unternommen hat (die maximalen Hop-Versuche) und dann aufgegeben hat, da innerhalb von 0,1 Sekunden kein ICMP-Paket empfangen wurde.

4. Konfigurieren Sie die Anzahl der Abfragen pro Hop

Wie bereits zuvor erläutert, sendet das Traceroute-Dienstprogramm 3 Pakete pro Hop, um 3 Roundtrip-Zeiten bereitzustellen. Dieser Standardwert von 3 ist mit der Option „-q“ konfigurierbar. Diese Option erwartet eine Ganzzahl, die sie als neuen Wert für die Anzahl der Sonden pro Hop festlegt.

$ traceroute google.com -q 5
traceroute to google.com (173.194.36.46), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  91.579 ms  91.497 ms  91.458 ms  91.422 ms  91.385 ms
2  115.255.239.65 (115.255.239.65)  91.356 ms  91.325 ms  98.868 ms  98.848 ms  98.829 ms
3  124.124.251.245 (124.124.251.245)  94.581 ms  107.083 ms  107.044 ms  107.017 ms  106.981 ms
4  115.255.239.45 (115.255.239.45)  106.948 ms  106.918 ms  144.432 ms  144.412 ms  144.392 ms
5  72.14.212.118 (72.14.212.118)  115.565 ms  115.485 ms  115.446 ms  115.408 ms  115.381 ms
6  72.14.232.202 (72.14.232.202)  115.351 ms  87.232 ms  117.157 ms  117.123 ms  117.049 ms
7  209.85.241.189 (209.85.241.189)  126.998 ms  126.973 ms  126.950 ms  126.929 ms  126.912 ms
8  bom04s02-in-f14.1e100.net (173.194.36.46)  126.889 ms  95.526 ms  95.450 ms  95.418 ms  105.392 ms

Wir sehen also, dass nach dem Konfigurieren der Anzahl der Probes auf 5 die Ausgabe anfing, fünf Umlaufzeiten pro Hop anzuzeigen.

5. Konfigurieren Sie den TTL-Wert, mit dem gestartet werden soll

Das Traceroute-Dienstprogramm ist flexibel genug, um den TTL-Wert zu akzeptieren, mit dem der Benutzer das Dienstprogramm starten möchte. Standardmäßig ist sein Wert 1, was bedeutet, dass er mit dem ersten Router im Pfad beginnt, aber mit der Option „-f“ (die den neuen Wert von TTL erwartet) kann ein neuer Wert des TTL-Felds festgelegt werden. Beispielsweise habe ich eine normale Traceroute-Operation und dann eine Traceroute mit einem anderen TTL-Wert ausprobiert.

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.181 ms  101.540 ms  101.503 ms
2  115.255.239.65 (115.255.239.65)  101.468 ms  101.431 ms  101.324 ms
3  124.124.251.245 (124.124.251.245)  121.373 ms  121.350 ms  158.694 ms
4  115.255.239.45 (115.255.239.45)  101.223 ms  141.135 ms  123.932 ms
5  72.14.212.118 (72.14.212.118)  123.867 ms  123.832 ms  123.802 ms
6  72.14.232.202 (72.14.232.202)  123.773 ms  123.742 ms  587.812 ms
7  216.239.48.179 (216.239.48.179)  587.723 ms  587.681 ms  587.642 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  577.548 ms  577.524 ms  587.512 ms

$ traceroute google.com -f 8
traceroute to google.com (74.125.236.129), 30 hops max, 60 byte packets
8  bom03s02-in-f1.1e100.net (74.125.236.129)  96.961 ms  96.886 ms  96.849 ms

Wir sehen also, dass nach Verwendung der Option -f mit dem Wert 8 nur die letzte (8.) Zeile der vorherigen Ausgabe angezeigt wurde.


Linux
  1. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. rm-Befehlsbeispiele unter Linux

  4. ps-Befehlsbeispiele in Linux

  5. w Befehlsbeispiele unter Linux

wc Linux-Befehl mit Beispielen

10 Beispiele für iftop-Befehle unter Linux

16 Praktische Beispiele für den Traceroute-Befehl unter Linux

15 Praktische Grep-Befehlsbeispiele in Linux / UNIX

id-Befehlsbeispiele in Linux

du-Befehlsbeispiele in Linux