Connect with us

Wie man

So verwenden Sie den Traceroute-Befehl unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri/Shutterstock

Sie können das Linux verwenden traceroute Befehl, um den langsamen Abschnitt der Reise eines Netzwerkpakets zu erkennen und träge Netzwerkverbindungen zu beheben. Wir zeigen Ihnen wie!

So funktioniert Traceroute

Wenn du schätzt, wie traceroute funktioniert, macht es das Verständnis der Ergebnisse viel einfacher. Je komplizierter die Route a Netzwerkpaket nehmen muss, um sein Ziel zu erreichen, desto schwieriger ist es, festzustellen, wo es zu Verzögerungen kommen könnte.

Eine kleine Organisation lokales Netzwerk (LAN) könnte relativ einfach sein. Es wird wahrscheinlich mindestens einen Server und ein 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 (und wird weitergeleitet und geroutet) eine Menge Hardware, wie Router und Gateways.

Die Header von Metadaten auf Datenpaketen beschreiben ihre Länge, woher sie kommen, wohin sie gehen, das verwendete Protokoll und so weiter. Die Spezifikation des Protokolls definiert den Header. Wenn Sie das Protokoll identifizieren können, können Sie Anfang und Ende jedes Feldes im Header bestimmen und die Metadaten lesen.

traceroute verwendet die TCP/IP Suite von Protokollen und sendet Benutzer-Datagramm-Protokoll Pakete. Die Kopfzeile enthält die Zeit zu leben (TTL)-Feld, das einen 8-Bit-Ganzzahlwert enthält. Entgegen dem, was der Name vermuten lässt, stellt es eine Zählung dar, keine Dauer.

Ein Paket reist von seinem Ursprung zu seinem Ziel über einen Router. Jedes Mal, wenn das Paket an 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 Hop seiner Reise weitergeleitet, da es eine „Zeitüberschreitung“ hat.

Der Router sendet eine Internet Message Control Protocol (ICMP) Zeit überschritten Nachricht an den Ursprung des Pakets zurück, um es über das Timeout des Pakets zu informieren. Die Nachricht Time Exceeded enthält den ursprünglichen Header und die ersten 64 Bit der Daten des ursprünglichen Pakets. Dies ist auf Seite sechs von . definiert Bitte um Kommentare 792.

Also, wenn traceroute ein Paket aussendet, dann aber den TTL-Wert auf eins setzt, kommt das Paket nur bis zum ersten Router, bevor es verworfen wird. Es empfängt eine ICMP-Zeitüberschreitungsnachricht vom Router und kann die Zeit für die Hin- und Rückfahrt aufzeichnen.

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

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überschreitungsmeldung auszulösen.

Entsprechend Cisco, begrenzen einige Internet Service Provider (ISPs) 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 unwissentlich zur Teilnahme an einem verteilter Denial-of-Service, wie ein Schlumpf-Attacke.

traceroute hat eine Standardzeitüberschreitung für Antworten von fünf Sekunden. Wenn es innerhalb dieser fünf Sekunden keine Antwort erhält, wird der Versuch abgebrochen. Dies bedeutet, dass Antworten von sehr langsamen Routern ignoriert werden.

Traceroute installieren

traceroute wurde bereits auf Fedora 31 installiert, muss aber auf Manjaro 18.1 und Ubuntu 18.04 installiert werden. Installieren traceroute Verwenden Sie auf Manjaro den folgenden Befehl:

sudo pacman -Sy traceroute

Installieren traceroute Verwenden Sie unter Ubuntu den folgenden Befehl:

sudo apt-get install traceroute

Traceroute verwenden

Wie wir oben beschrieben haben, traceroute's Der Zweck besteht darin, dem Router bei jedem Hop von Ihrem Computer zum Ziel eine Antwort zu entlocken. Einige mögen wortkarg sein und nichts verraten, während andere die Bohnen wahrscheinlich ohne Skrupel verschütten werden.

Als Beispiel führen wir a traceroute zum Schloss Blarney Website in Irland, Heimat der berühmten Blarney-Stein. Die Legende besagt, dass Sie, wenn Sie den Blarney Stone küssen, mit dem „Geschenk des Gelaber“ gesegnet sind. Hoffen wir, dass die Router, denen wir unterwegs begegnen, entsprechend geschwätzig sind.

Wir geben folgenden Befehl ein:

traceroute www.blarneycastle.ie

Die erste Zeile gibt uns die folgenden Informationen:

  • Das Ziel und seine IP-Adresse.
  • Die Anzahl der Hopfen traceroute werde es versuchen, bevor du aufgibst.
  • Die Größe der UDP-Pakete, die wir senden.

Alle anderen Zeilen enthalten Informationen zu einem der Hops. Bevor wir jedoch auf die Details eingehen, können wir sehen, dass zwischen unserem Computer und der Blarney Castle-Website 11 Sprünge bestehen. Hop 11 sagt uns auch, dass wir unser Ziel erreicht haben.

Das Format jeder Hop-Linie ist wie folgt:

  • Der Name des Geräts oder, falls das Gerät sich 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 dieser Test nicht beantwortet wurde. Wenn das Gerät überhaupt nicht reagiert, sehen Sie drei Sternchen und keinen Gerätenamen oder IP-Adresse.

Sehen wir uns im Folgenden an, was wir 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 reagiert. Vielleicht wurde es so konfiguriert, dass es niemals ICMP-Pakete sendet. Oder vielleicht hat es reagiert, war aber zu langsam, also traceroute abgelaufen.
  • Hop 3: Ein Gerät hat geantwortet, aber wir haben nicht seinen Namen erhalten, sondern nur die IP-Adresse. Beachten Sie, dass sich in dieser Zeile ein Sternchen befindet, was bedeutet, dass wir nicht auf alle drei Anfragen geantwortet haben. Dies könnte auf einen Paketverlust hinweisen.
  • Hopfen 4 und 5: Mehr anonyme Hopfen.
  • Sprung 6: Hier gibt es viel Text, weil jede unserer drei UDP-Anfragen von einem anderen Remote-Gerät verarbeitet wurde. Die (eher langen) Namen und IP-Adressen für jedes Gerät wurden gedruckt. Dies kann passieren, wenn Sie auf ein „reich besetztes“ Netzwerk stoßen, in dem es viel Hardware gibt, um ein hohes Verkehrsaufkommen zu bewältigen. 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 verarbeiten würde.
  • Hop 7: Dies ist der Hop, den unsere UDP-Pakete beim Verlassen des ISP-Netzwerks gemacht haben.
  • Hop 8: Auch hier erhalten wir eine IP-Adresse, aber nicht den Gerätenamen. Alle drei Tests sind erfolgreich zurückgekehrt.
  • Hopfen 9 und 10: Zwei weitere anonyme Sprünge.
  • Hop 11: Wir sind auf der Website von Blarney Castle angekommen. Das Schloss befindet sich in Cork, Irland, aber laut Geolokalisierung der IP-Adresse, die Website befindet sich in London.

Es war also eine gemischte Tüte. Manche Geräte spielten mit, manche antworteten, nannten uns aber nicht ihren Namen, andere blieben völlig anonym.

Wir haben jedoch das Ziel erreicht, wir wissen, dass es 11 Hops entfernt ist und die Hin- und Rückfahrtzeit für die Reise 13.773 und 14.715 Millisekunden betrug.

Gerätenamen ausblenden

Wie wir gesehen haben, führt die Angabe von Gerätenamen manchmal zu einer überladenen Anzeige. Um die Anzeige der Daten zu erleichtern, können Sie die -n (keine Zuordnung) Option.

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

traceroute -n blarneycastle.ie

Dies macht es einfacher, große Zahlen für Round-Trip-Timings auszuwählen, die auf einen Engpass hinweisen könnten.

Hop 3 sieht langsam verdächtig aus. Letztes Mal hat es nur zweimal geantwortet, und dieses Mal 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 einzutauchen.

Einstellen des Traceroute-Zeitüberschreitungswerts

Vielleicht erhalten wir mehr Antworten, wenn wir die Standard-Timeout-Periode (fünf Sekunden) verlängern. Dazu verwenden wir die -w (Wartezeit) Option, um sie auf sieben Sekunden zu ändern. (Beachten Sie, dass dies eine Gleitkommazahl ist.)

Wir geben folgenden Befehl ein:

traceroute -w 7.0 blarneycastle.ie

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

Einstellen der Anzahl der Tests

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

Um das zu beschleunigen traceroute test, geben wir Folgendes ein, um die Anzahl der UDP-Prüfpakete zu reduzieren, an die wir senden eins:

traceroute -q 1 blarneycastle.ie

Dies sendet eine einzelne Probe an jeden Hop.

Einstellen des anfänglichen TTL-Werts

Wir können den Anfangswert von TTL auf einen anderen Wert als eins setzen und einige Sprünge überspringen. Normalerweise werden die TTL-Werte für den ersten Testsatz auf eins gesetzt, für den nächsten Testsatz auf zwei und so weiter. Wenn wir ihn auf fünf setzen, versucht der erste Test, zu Hop fünf zu gelangen und die Hops 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 gibt uns einen schönen, komprimierten Bericht über den Zustand der Verbindung zum Ziel.

Seien Sie rücksichtsvoll

traceroute ist ein großartiges Werkzeug, um das Netzwerk-Routing zu untersuchen, Verbindungsgeschwindigkeiten zu überprüfen oder Engpässe zu identifizieren. Windows hat auch ein tracert Befehl, der ähnlich funktioniert.

Sie möchten jedoch nicht unbekannte Geräte mit Torrents von UDP-Paketen bombardieren, und seien Sie vorsichtig, wenn Sie es einschließen traceroute in Skripten oder unbeaufsichtigten Jobs.

Die Ladung traceroute in einem Netzwerk platzieren kann, kann sich negativ auf dessen Leistung auswirken. Wenn Sie sich nicht in einer Sofortlösungssituation befinden, möchten Sie es möglicherweise außerhalb der normalen Geschäftszeiten verwenden.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia