Mit dem Befehl Linux traceroute können Sie den langsamen Abschnitt der Reise eines Netzwerkpakets erkennen und langsame Netzwerkverbindungen beheben. Wir zeigen Ihnen wie!

Wie Traceroute funktioniert

Wenn Sie wissen, wie Traceroute funktioniert, erleichtert dies das Verständnis der Ergebnisse erheblich. Je komplizierter die Route a Netzwerkpaket Um sein Ziel zu erreichen, ist es umso schwieriger, festzustellen, wo Verlangsamungen auftreten können.

Eine kleine Organisation lokales Netzwerk (LAN) könnte relativ einfach sein. Es wird wahrscheinlich mindestens einen Server und einen oder zwei Router haben. Die Komplexität steigt auf a Weitverkehrsnetz (WAN), das zwischen verschiedenen Standorten oder über das Internet kommuniziert. Ihr Netzwerkpaket trifft dann auf eine Menge Hardware (und wird von dieser weitergeleitet und weitergeleitet), z. B. Router und Gateways.

Die Header von Metadaten in Datenpaketen beschreiben deren Länge, woher sie kamen, wohin sie gehen, welches Protokoll sie verwenden und so weiter. Die Spezifikation des Protokolls definiert den Header. Wenn Sie das Protokoll identifizieren können, können Sie den Anfang und das Ende jedes Felds im Header bestimmen und die Metadaten lesen.

Traceroute verwendet die TCP / IP Suite von Protokollen und sendet Benutzerdatagramm-Protokoll Pakete. Der Header enthält die Zeit zu leben (TTL) -Feld, das einen 8-Bit-Ganzzahlwert enthält. Ungeachtet dessen, was der Name andeutet, handelt es sich um eine Zählung, nicht um eine Dauer.

Ein Paket wandert über einen Router von seinem Ursprung zu seinem Ziel. Jedes Mal, wenn das Paket bei einem Router ankommt, wird der TTL-Zähler dekrementiert. Wenn der TTL-Wert jemals eins erreicht, verringert der Router, der das Paket empfängt, den Wert und stellt fest, dass er jetzt Null ist. Das Paket wird dann verworfen und nicht an den nächsten Sprung seiner Reise weitergeleitet, da das Zeitlimit überschritten wurde.

Der Router sendet eine Internet Message Control Protocol (ICMP) Zeit überschritten Nachricht zurück zum Ursprung des Pakets, um ihm mitzuteilen, dass das Paket abgelaufen ist. Die Nachricht „Time Exceeded“ enthält den ursprünglichen Header und die ersten 64 Bits der Daten des ursprünglichen Pakets. Dies ist auf Seite 6 von definiert Bitte um Kommentare 792.

Wenn traceroute also ein Paket sendet, aber dann den TTL-Wert auf eins setzt, gelangt das Paket nur bis zum ersten Router, bevor es verworfen wird. Es wird eine Nachricht vom Router über die ICMP-Zeitüberschreitung empfangen und kann die Zeit aufzeichnen, die für die Hin- und Rückfahrt benötigt wurde.

Anschließend wird die Übung mit TTL auf 2 wiederholt, was nach zwei Sprüngen fehlschlägt. traceroute erhöht die TTL auf drei und versucht es erneut. Dieser Vorgang wird wiederholt, bis das Ziel erreicht ist oder die maximale Anzahl von Sprüngen (standardmäßig 30) getestet wurde.

Überprüfen Sie dies -  So beheben Sie Ordner, die unter Linux nicht vom Benutzerkonto beschreibbar sind

Einige Router spielen nicht gut

Einige Router haben Fehler. Sie versuchen, Pakete mit einer TTL von Null weiterzuleiten, anstatt sie zu verwerfen und eine ICMP-Zeit zu erhöhen, die die Nachricht überschreitet.

Gemäß CiscoEinige Internet Service Provider (ISPs) begrenzen die Anzahl der ICMP-Nachrichten, die ihre Router weiterleiten.

Einige Geräte sind so konfiguriert, dass sie niemals ICMP-Pakete senden. Dies dient häufig dazu, sicherzustellen, dass das Gerät nicht unabsichtlich zur Teilnahme an a gezwungen werden kann verteilte Denial-of-Service, wie ein Schlumpfangriff.

Traceroute hat ein Standardzeitlimit für Antworten von fünf Sekunden. Wenn innerhalb dieser fünf Sekunden keine Antwort eingeht, wird der Versuch abgebrochen. Dies bedeutet, dass Antworten von sehr langsamen Routern ignoriert werden.

Traceroute installieren

traceroute wurde bereits auf Fedora 31 installiert, muss jedoch auf Manjaro 18.1 und Ubuntu 18.04 installiert werden. Verwenden Sie den folgenden Befehl, um traceroute auf Manjaro zu installieren:

sudo pacman -Sy traceroute

Verwenden Sie den folgenden Befehl, um traceroute unter Ubuntu zu installieren:

sudo apt-get install traceroute

Das

Traceroute verwenden

Wie oben beschrieben, besteht der Zweck von traceroute darin, bei jedem Sprung von Ihrem Computer zum Ziel eine Antwort vom Router auszulösen. Einige sind möglicherweise eng an den Lippen und geben nichts preis, während andere die Bohnen wahrscheinlich ohne Bedenken verschütten.

Als Beispiel führen wir eine Traceroute zum Blarney Castle Website in Irland, Heimat der berühmten Blarney Stone. Der Legende nach werden Sie mit dem „Geschenk des Gab“ gesegnet, wenn Sie den Blarney Stone küssen. Hoffen wir, dass die Router, denen wir unterwegs begegnen, angemessen geschwätzig sind.

Wir geben den folgenden Befehl ein:

traceroute www.blarneycastle.ie

Das

Die erste Zeile gibt uns folgende Informationen:

Das Ziel und seine IP-Adresse.
Die Anzahl der Hopfen-Traceroute wird versucht, bevor aufgegeben wird.
Die Größe der UDP-Pakete, die wir senden.

Alle anderen Zeilen enthalten Informationen zu einem der Hopfen. Bevor wir uns jedoch mit den Details befassen, können wir sehen, dass sich zwischen unserem Computer und der Blarney Castle-Website 11 Sprünge befinden. Hop 11 sagt uns auch, dass wir unser Ziel erreicht haben.

Das Format jeder Sprungzeile ist wie folgt:

Der Name des Geräts oder, falls sich das Gerät nicht identifiziert, die IP-Adresse.
Die IP-Adresse.
Die Zeit, die für jeden der drei Tests benötigt wurde. Wenn hier ein Sternchen angezeigt wird, bedeutet dies, dass für diesen Test keine Antwort erfolgt ist. Wenn das Gerät überhaupt nicht reagiert, werden drei Sternchen und kein Gerätename oder keine IP-Adresse angezeigt.

Überprüfen Sie dies -  So verbinden Sie Facebook Messenger mit Discord unter Linux

Lassen Sie uns überprüfen, was wir unten haben:

Hop 1: Die erste Anlaufstelle (kein Wortspiel beabsichtigt) ist der DrayTek Vigor Router im lokalen Netzwerk. So verlassen unsere UDP-Pakete das lokale Netzwerk und gelangen ins Internet.
Hop 2: Dieses Gerät hat nicht geantwortet. Möglicherweise wurde es so konfiguriert, dass niemals ICMP-Pakete gesendet werden. Oder vielleicht hat es reagiert, war aber zu langsam, sodass die Traceroute abgelaufen ist.
Hop 3: Ein Gerät hat geantwortet, aber wir haben seinen Namen nicht erhalten, nur die IP-Adresse. Beachten Sie, dass in dieser Zeile ein Sternchen steht, was bedeutet, dass wir nicht auf alle drei Anfragen eine Antwort erhalten haben. Dies könnte auf einen Paketverlust hinweisen.
Hopfen 4 und 5: Mehr anonyme Hopfen.
Hop 6: Hier gibt es viel Text, da jede unserer drei UDP-Anforderungen von einem anderen Remote-Gerät verarbeitet wurde. Die (ziemlich langen) Namen und IP-Adressen für jedes Gerät wurden gedruckt. Dies kann passieren, wenn Sie auf ein „dicht besiedeltes“ Netzwerk stoßen, in dem viel Hardware für hohe Verkehrsmengen vorhanden ist. Dieser Hop befindet sich innerhalb eines der größten ISPs in Großbritannien. Es wäre also ein kleines Wunder, wenn dieselbe Remote-Hardware unsere drei Verbindungsanfragen bearbeiten würde.
Hop 7: Dies ist der Hop, den unsere UDP-Pakete gemacht haben, als sie das ISP-Netzwerk verlassen haben.
Hop 8: Wieder erhalten wir eine IP-Adresse, aber nicht den Gerätenamen. Alle drei Tests wurden erfolgreich zurückgegeben.
Hopfen 9 und 10: Zwei weitere anonyme Hopfen.
Hop 11: Wir sind auf der Website von Blarney Castle angekommen. Das Schloss befindet sich in Cork, Irland, aber laut Geolokalisierung der IP-Adresseist die Website in London.

Es war also eine gemischte Tüte. Einige Geräte spielten Ball, einige antworteten, sagten uns aber nicht ihre Namen und andere blieben völlig anonym.

Wir sind jedoch am Ziel angekommen, wir wissen, dass es 11 Hopfen entfernt ist, und die Hin- und Rückfahrtzeit für die Reise betrug 13,773 und 14,715 Millisekunden.

Gerätenamen ausblenden

Wie wir gesehen haben, führt das Einfügen von Gerätenamen manchmal zu einer überfüllten Anzeige. Um das Anzeigen der Daten zu vereinfachen, können Sie die Option -n (keine Zuordnung) verwenden.

Um dies mit unserem Beispiel zu tun, geben wir Folgendes ein:

traceroute -n blarneycastle.ie

Das

Dies erleichtert die Auswahl großer Zahlen für Hin- und Rückfahrzeiten, die auf einen Engpass hinweisen könnten.

Überprüfen Sie dies -  So brennen Sie eine CD oder DVD unter Windows 10

Hop 3 sieht etwas verdächtig aus. Beim letzten Mal hat es nur zweimal geantwortet, und diesmal hat es nur einmal geantwortet. In diesem Szenario liegt es natürlich außerhalb unserer Kontrolle.

Wenn Sie jedoch Ihr Unternehmensnetzwerk untersuchen, lohnt es sich, etwas tiefer in diesen Knoten einzudringen.

Festlegen des Traceroute-Timeout-Werts

Wenn wir die Standardzeitüberschreitung (fünf Sekunden) verlängern, erhalten wir möglicherweise mehr Antworten. Dazu ändern wir die Option -w (Wartezeit) auf sieben Sekunden. (Beachten Sie, dass dies eine Gleitkommazahl ist.)

Wir geben den folgenden Befehl ein:

traceroute -w 7.0 blarneycastle.ie

Das

Das hat keinen großen Unterschied gemacht, daher laufen die Antworten wahrscheinlich ab. Es ist wahrscheinlich, dass die anonymen Hopfen absichtlich geheim gehalten werden.

Einstellen der Anzahl der Tests

Standardmäßig sendet Traceroute drei UDP-Pakete an jeden Hop. Wir können die Option -q (Anzahl der Abfragen) verwenden, um dies nach oben oder unten anzupassen.

Um den Traceroute-Test zu beschleunigen, geben wir Folgendes ein, um die Anzahl der von uns gesendeten UDP-Testpakete auf eins zu reduzieren:

traceroute -q 1 blarneycastle.ie

Das

Dies sendet eine einzelne Sonde an jeden Hop.

Einstellen des anfänglichen TTL-Werts

Wir können den Anfangswert von TTL auf etwas anderes als eins setzen und einige Sprünge überspringen. Normalerweise werden die TTL-Werte für den ersten Testsatz auf eins, für den nächsten Testsatz auf zwei usw. festgelegt. Wenn wir es auf fünf setzen, wird der erste Test versuchen, fünf zu hüpfen und die Sprünge eins bis vier zu überspringen.

Da wir wissen, dass die Blarney Castle-Website 11 Hops von diesem Computer entfernt ist, geben wir Folgendes ein, um direkt zu Hop 11 zu gelangen:

traceroute -f 11 blarneycastle.ie

Das

Das gibt uns einen schönen, komprimierten Bericht über den Zustand der Verbindung zum Ziel.

Sei rücksichtsvoll

traceroute ist ein großartiges Tool, um das Netzwerkrouting zu untersuchen, die Verbindungsgeschwindigkeit zu überprüfen oder Engpässe zu identifizieren. Windows hat auch einen Tracert-Befehl, der ähnlich funktioniert.

Sie möchten jedoch unbekannte Geräte nicht mit Torrents von UDP-Paketen bombardieren und sich davor hüten, Traceroute in Skripte oder unbeaufsichtigte Jobs aufzunehmen.

Die Lastverfolgung, die in einem Netzwerk platziert werden kann, kann sich negativ auf die Leistung auswirken. Sofern Sie sich nicht in einer Situation befinden, in der es sich um ein Problem handelt, möchten Sie es möglicherweise außerhalb der normalen Geschäftszeiten verwenden.