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

Linux Traceroute-Befehl, erklärt mit Beispielen

In diesem Artikel besprechen wir alles, was Sie über den Traceroute-Befehl von Linux wissen möchten und wie Sie ihn in Ihrer täglichen Praxis verwenden.

Traceroute ist ein Befehlszeilendienstprogramm, das die Route (oder Hops) ausgibt, die ein Paket nimmt, um einen anderen Host zu erreichen. Es dient der Netzwerkdiagnose. Wie der Name schon sagt, besteht der Hauptzweck einer Traceroute darin, die IP-Route von einer Quelle zu einem Ziel innerhalb eines IP-Netzwerks zu verfolgen, sodass Administratoren Verbindungsprobleme besser lösen können. Traceroute zeigt nicht nur an, ob Sie eine Verbindung haben, sondern zeigt auch auf, wo genau das Problem liegt und warum das passiert.

Traceroute gibt Ihnen vollständige Informationen über den Weg, den Ihre Daten nehmen werden, um ihr Ziel zu erreichen. Wenn sich zum Beispiel die Ihr Computer (Quelle) in Los Angeles, Kalifornien und der Server in New York (Ziel) befindet , identifiziert Traceroute den vollständigen Pfad, jeden Hop (die Computer, Router oder alle Geräte, die zwischen Quelle und Ziel kommen) auf dem Pfad und die Zeit, die für den Hin- und Rückweg benötigt wird.

Im Internet werden Traceroute-Nachrichten jedoch häufig von Routern in verschiedenen autonomen Systemen blockiert, wodurch Traceroute in einigen Fällen ungenau wird.

Wie funktioniert Traceroute

Traceroute verwendet am häufigsten ICMP-Echopakete (Internet Control Message Protocol) mit variablen TTL-Werten (Time to Live). Um die Genauigkeit zu gewährleisten, wird jeder Hop mehrfach abgefragt und die Antwortzeit jedes Hops berechnet.

Der Linux-Traceroute-Befehl funktioniert durch Manipulation der TTL. Der Zweck von TTL besteht darin, die Lebensdauer von Daten in einem IP-Netzwerk zu begrenzen. Jedem ausgesendeten Datenpaket wird ein TTL-Wert zugewiesen. Wenn ein Datenpaket auf dem Weg zum Zielgerät einen Hop erreicht, wird der TTL-Wert um 1 verringert.

Wenn ein Router den Hop-Zählwert eines Pakets auf Null verringert, sendet er eine ICMP-Fehlermeldung „Zeit überschritten“ an die Quell-IP-Adresse im Paket zurück, andernfalls leitet er das Paket weiter.

Ein Traceroute-Tool sendet Pakete an eine Ziel-IP und mit einer auf 1 gesetzten TTL, sodass der erste Router, den die Pakete erreichen, einen Fehler „Zeitüberschreitung“ zurücksendet. Wenn der Fehler zurückkehrt, zeichnet das Traceroute-Tool die Identität und die Umlaufzeit des ersten Routers auf, erhöht die TTL und sendet neue Pakete, wobei dieser Vorgang wiederholt wird, bis entweder das letzte Paket die Ziel-IP erreicht oder zwei Sätze von Paketen verworfen werden.

Verwendung des Traceroute-Befehls unter Linux

Beginnen wir mit einem einfachen Beispiel. Lassen Sie uns die traceroute ausführen Befehl für www.google.com Domäne.

traceroute www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.210 ms  0.268 ms  0.214 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.311 ms  0.317 ms  0.354 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  1.260 ms  2.320 ms  2.304 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  3.595 ms  2.464 ms  1.365 ms
5  108.170.240.129 (108.170.240.129)  2.636 ms 108.170.240.193 (108.170.240.193)  1.501 ms 108.170.240.129 (108.170.240.129)  2.620 ms
6  142.251.60.143 (142.251.60.143)  1.480 ms  1.499 ms 142.251.60.145 (142.251.60.145)  1.473 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.425 ms  1.622 ms  1.587 ms

Die erste Zeile gibt uns die folgenden Informationen:

  • Das Ziel (www.google.com) und seine IP-Adresse (142.251.33.4).
  • Die Anzahl der Hops traceroute werde es versuchen, bevor ich aufgebe (30 Sprünge).
  • Die Größe der UDP-Pakete, die wir senden (60 Byte).

Der Rest der Ausgabe zeigt alle Router, die unsere Pakete durchlaufen haben. In jeder Zeile finden wir Informationen über den Namen und die IP-Adresse des Hosts. Die nächsten drei Werte stellen die Roundtrip-Zeiten für einen bestimmten Router dar.

In unserem Fall muss die Anfrage zur Verbindung mit www.google.com sieben verschiedene Router durchlaufen. In der Ausgabe können wir sehen, dass der letzte (142.251.33.4) der Zielhost für www.google .com-Domain.

Ausblenden von Gerätenamen

Wie wir gesehen haben, führt das Einschließen von Gerätenamen manchmal zu einer unübersichtlichen Anzeige. Um die Anzeige der Daten zu vereinfachen, können Sie den Traceroute-Befehl unter Linux mit dem -n verwenden Option.

traceroute -n www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109  0.142 ms  0.224 ms  0.207 ms
2  69.174.3.1  0.306 ms  0.303 ms  0.323 ms
3  213.254.230.210  11.812 ms  11.784 ms  11.771 ms
4  199.229.230.118  6.516 ms  1.851 ms  4.416 ms
5  108.170.240.129  2.944 ms 108.170.240.193  2.009 ms 108.170.240.129  2.920 ms
6  142.251.60.143  1.928 ms  1.928 ms  1.933 ms
7  142.251.33.4  1.937 ms  1.922 ms  1.926 ms

Festlegen der maximalen Anzahl von Hops mit dem Traceroute-Befehl von Linux

Durch Hinzufügen eines zusätzlichen -m Parameter können wir die maximale Anzahl von Hops traceroute angeben wird prüfen:

traceroute -m 3 www.google.com
traceroute to www.google.com (142.251.33.4), 3 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.170 ms  0.187 ms  0.172 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.299 ms  0.300 ms  0.301 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.727 ms  2.753 ms  2.736 ms

Jetzt besteht die Ausgabe nur aus den ersten drei Routern. Der Standardwert für -m Parameter ist 30. Stellen Sie daher sicher, dass Sie ihn erhöhen, wenn die Anzahl der Hops 30 überschreiten kann.

Festlegen der Anzahl der Testpakete pro Hop

Standardmäßig traceroute sendet drei UDP-Pakete an jeden Hop. Wir können das -q verwenden Option zum Anpassen nach oben oder unten.

Um die traceroute zu beschleunigen Wir geben Folgendes ein, um die Anzahl der UDP-Testpakete auf eins zu reduzieren:

traceroute -q 1 www.google.com
traceroute to www.google.com (142.251.33.4), 30 hops max, 60 byte packets
1  63.133.178.109 (63.133.178.109)  0.160 ms
2  ae1.cr0-dal4.ip4.gtt.net (69.174.3.1)  0.272 ms
3  ae1.cr10-dal3.ip4.gtt.net (213.254.230.210)  2.190 ms
4  as15169.dal33.ip4.gtt.net (199.229.230.118)  1.853 ms
5  108.170.240.129 (108.170.240.129)  3.063 ms
6  142.251.60.145 (142.251.60.145)  1.993 ms
7  dfw25s44-in-f4.1e100.net (142.251.33.4)  1.952 ms

Schlussfolgerung

Die Linux-traceroute command ist ein großartiges Tool, um das Netzwerk-Routing zu untersuchen, Verbindungsgeschwindigkeiten zu überprüfen oder Engpässe zu identifizieren. Es ist in allen gängigen Linux-Distributionen verfügbar. Wenn Sie dieses Tool verwenden, werden Sie häufig die in diesem Artikel beschriebenen Methoden anwenden.

Weitere Informationen zu traceroute Befehl unter Linux finden Sie auf der Handbuchseite.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  3. nslookup Linux-Befehl mit Beispielen erklärt

  4. JQ-Befehl in Linux mit Beispielen

  5. whoami-Befehl in Linux mit Beispielen erklärt

Bash Echo-Befehl mit Beispielen in Linux erklärt

Tr-Befehl in Linux mit Beispielen erklärt

w Befehl mit Beispielen in Linux erklärt

Linux Cat-Befehl mit Beispielen erklärt

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)