Linux tracepath-Befehl mit praktischen Beispielen

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Labyrinth lernen Sie, wie Sie die Linux-Befehl tracepath verwenden, um den Pfad zu verfolgen, den Pakete von der lokalen Hostmaschine zu einem entfernten Host nehmen, und um eventuelle Netzwerkprobleme auf dem Weg zu identifizieren. Das Labyrinth behandelt den Zweck des tracepath-Befehls, wie man ihn verwendet, um den Pfad zu einem entfernten Host zu verfolgen, und wie man Netzwerkprobleme mit diesem Befehl behebt. Sie lernen, die Ausgabe des tracepath-Befehls zu interpretieren und ihn zu verwenden, um potenzielle Netzwerkprobleme wie hohe Latenz, Paketverlust oder MTU-Probleme zu identifizieren.

Linux Commands Cheat Sheet

Verstehen des Zwecks des tracepath-Befehls

In diesem Schritt lernen Sie über den Zweck und die Verwendung des tracepath-Befehls in Linux. Der tracepath-Befehl ist ein Netzwerkdiagnosewerkzeug, das verwendet wird, um den Pfad zu verfolgen, den Pakete von der lokalen Hostmaschine zu einem entfernten Host nehmen, und um eventuelle Zwischenhop oder Netzwerkprobleme auf dem Weg zu identifizieren.

Der tracepath-Befehl ähnelt dem traceroute-Befehl, verwendet jedoch den Path MTU Discovery (PMTUD)-Mechanismus, um die maximale Übertragungseinheit (MTU) entlang des Pfads zu bestimmen, was helfen kann, Netzwerkprobleme im Zusammenhang mit der Paketfragmentierung zu identifizieren.

Lassen Sie uns beginnen, indem wir den tracepath-Befehl auf einen entfernten Host ausführen:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Beispielausgabe:

Die Ausgabe zeigt den Pfad, den die Pakete von der lokalen Hostmaschine zu dem entfernten Host google.com nehmen. Jede Zeile stellt einen Hop auf dem Pfad dar, und die Ausgabe enthält die folgenden Informationen:

  • Die Hop-Nummer
  • Die IP-Adresse des Zwischenrouters oder Netzwerkgeräts
  • Die RTT (Round-Trip-Time) für das Paket, um zu diesem Hop zu gelangen und zurück zur lokalen Hostmaschine zu kehren

Der tracepath-Befehl meldet auch die maximale Übertragungseinheit (MTU) entlang des Pfads, die in diesem Fall 1500 Bytes beträgt.

Indem Sie den tracepath-Befehl ausführen, können Sie eventuelle Netzwerkprobleme oder Engpässe auf dem Weg identifizieren, wie hohe Latenz, Paketverlust oder MTU-Probleme.

Verfolge den Pfad zu einem entfernten Host mit tracepath

In diesem Schritt lernen Sie, wie Sie den tracepath-Befehl verwenden, um den Pfad zu einem entfernten Host zu verfolgen und eventuelle Netzwerkprobleme auf dem Weg zu identifizieren.

Lassen Sie uns beginnen, indem wir den Pfad zu einem entfernten Host wie google.com verfolgen:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Beispielausgabe:

Die Ausgabe zeigt den Pfad, den die Pakete von der lokalen Hostmaschine zu dem entfernten Host google.com nehmen. Jede Zeile stellt einen Hop auf dem Pfad dar, und die Ausgabe enthält die folgenden Informationen:

  • Die Hop-Nummer
  • Die IP-Adresse des Zwischenrouters oder Netzwerkgeräts
  • Die RTT (Round-Trip-Time) für das Paket, um zu diesem Hop zu gelangen und zurück zur lokalen Hostmaschine zu kehren

Der tracepath-Befehl meldet auch die maximale Übertragungseinheit (MTU) entlang des Pfads, die in diesem Fall 1500 Bytes beträgt.

Sie können auch den tracepath-Befehl verwenden, um den Pfad zu einem anderen entfernten Host wie example.com zu verfolgen:

$ sudo tracepath example.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  93.184.216.34                                        10.843ms
 5:  93.184.216.34                                        10.518ms
     Resume: pmtu 1500 hops 5 back 5

Indem Sie den tracepath-Befehl auf verschiedene entfernte Hosts ausführen, können Sie eventuelle Netzwerkprobleme oder Engpässe auf dem Weg identifizieren, wie hohe Latenz, Paketverlust oder MTU-Probleme.

Behebe Netzwerkprobleme mit tracepath

In diesem Schritt lernen Sie, wie Sie den tracepath-Befehl verwenden, um Netzwerkprobleme zu beheben.

Lassen Sie uns beginnen, indem wir ein Netzwerkproblem simulieren, indem wir die Verbindung zu einem entfernten Host mit der iptables-Firewall blockieren:

$ sudo iptables -A OUTPUT -d 8.8.8.8 -j DROP

Dieser Befehl blockiert alle ausgehenden Netzwerkverkehr an die IP-Adresse 8.8.8.8, die einer der öffentlichen DNS-Server von Google ist.

Jetzt versuchen wir, den Pfad zu 8.8.8.8 mit dem tracepath-Befehl zu verfolgen:

$ sudo tracepath 8.8.8.8
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  no reply
 4:  no reply
 5:  no reply
     Resume: pmtu 1500 hops 5 back 2

Beispielausgabe:

Die Ausgabe zeigt, dass der tracepath-Befehl den Pfad bis zum dritten Hop verfolgen konnte, aber dann eine "keine Antwort"-Meldung erhalten hat, was darauf hindeutet, dass die Verbindung blockiert wurde oder der entfernte Host nicht antwortet.

Um dieses Problem zu beheben, können Sie Folgendes versuchen:

  1. Überprüfen Sie die Firewall-Regeln, um sicherzustellen, dass die Verbindung wie erwartet blockiert wird:

    $ sudo iptables -L
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    DROP       all  --  anywhere             8.8.8.8
  2. Versuchen Sie, den entfernten Host zu ping-en, um zu sehen, ob die Verbindung tatsächlich blockiert ist:

    $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    ^C
    --- 8.8.8.8 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2023ms

    Die Ausgabe zeigt, dass die Verbindung blockiert wird, wie durch den 100%-igen Paketverlust angezeigt.

  3. Entfernen Sie die Firewall-Regel, um die Verbindung wiederherzustellen:

    $ sudo iptables -D OUTPUT -d 8.8.8.8 -j DROP

Indem Sie den tracepath-Befehl verwenden, um den Punkt zu identifizieren, an dem die Verbindung blockiert wird, können Sie Netzwerkprobleme schnell beheben und die Ursache ermitteln.

Zusammenfassung

In diesem Labyrinth lernen Sie über den Zweck und die Verwendung des tracepath-Befehls in Linux, der ein Netzwerkdiagnosewerkzeug ist, das verwendet wird, um den Pfad zu verfolgen, den Pakete von der lokalen Hostmaschine zu einem entfernten Host nehmen, und um eventuelle Zwischenhop oder Netzwerkprobleme auf dem Weg zu identifizieren. Sie werden auch lernen, wie Sie den tracepath-Befehl verwenden, um den Pfad zu einem entfernten Host zu verfolgen und Netzwerkprobleme mit der Ausgabe des Befehls zu beheben.

Der tracepath-Befehl ähnelt dem traceroute-Befehl, verwendet jedoch den Path MTU Discovery (PMTUD)-Mechanismus, um die maximale Übertragungseinheit (MTU) entlang des Pfads zu bestimmen, was helfen kann, Netzwerkprobleme im Zusammenhang mit der Paketfragmentierung zu identifizieren. Indem Sie den tracepath-Befehl ausführen, können Sie eventuelle Netzwerkprobleme oder Engpässe auf dem Weg identifizieren, wie hohe Latenz, Paketverlust oder MTU-Probleme.

Linux Commands Cheat Sheet