Die Netzwerkdiagnose ist ein wesentlicher Bestandteil der Arbeit eines Netzwerk-/Systemadministrators, der verschiedene Arten von Netzwerkproblemen analysiert und behebt.
Die Kenntnis des Pfads, den ein IP-Paket zwischen zwei Punkten in einem Netzwerk durchläuft, liefert dem geschulten Auge eine Menge nützlicher Informationen.
Ein beliebtes und häufig verwendetes plattformübergreifendes Tool, das bei der Analyse von Netzwerkpfaden und der Fehlersuche hilft, ist Traceroute
.
Einfach ausgedrückt, verfolgt Traceroute
den Weg eines IP-Pakets zwischen Quelle und Ziel, indem es Testpakete (wahrscheinlich ICMP ECHO oder TCP SYN) sendet und dann auf die ICMP-Antworten "Zeit überschritten" wartet. Die TTL dieser Pakete wird absichtlich auf eins gesetzt und um eins erhöht, bis wir ICMP "port unreachable" erhalten, was bedeutet, dass wir den Host erreicht oder den Maximalwert (standardmäßig 30 Hops) erreicht haben.
Ein Beispiel für eine Traceroute-Ausgabe
sieht ungefähr so aus:
$ traceroute google.com
traceroute to google.com (172.217.169.14), 30 Hops max, 60 Byte Pakete
1 140.91.200.22 (140.91.200.22) 0.129 ms 140.91.200.19 (140.91.200.19) 0.151 ms 140.91.200.77 (140.91.200.77) 0.114 ms
2 linxbgp1.iwscloud.com (195.66.226.34) 0.735 ms 0.701 ms 1.024 ms
3 195.66.224.125 (195.66.224.125) 0.603 ms 0.591 ms 0.591 ms
4 108.170.246.129 (108.170.246.129) 0.583 ms 0.745 ms 0.714 ms
5 209.85.241.95 (209.85.241.95) 1.576 ms 209.85.241.93 (209.85.241.93) 1.545 ms 209.85.241.95 (209.85.241.95) 1.520 ms
6 lhr25s26-in-f14.1e100.net (172.217.169.14) 0.584 ms 0.547 ms 0.507 ms
$
Die Standardausgabe von Traceroute
wie oben gezeigt, zeigt die TTL (Time To Live) oder die Umlaufzeit von drei Paketen, die maximale Sprungzahl und die Paketgröße in Bytes sowie die IP-Adresse und den aufgelösten Domainnamen, wenn möglich.
Traceroute
ist sehr nützlich, um Antwortverzögerungen und das Routing zwischen zwei Knotenpunkten zu ermitteln. Außerdem hilft es, Fehlerpunkte in einer Route zum Ziel zu ermitteln. Viele Firewalls und Router blockieren Traceroute-Nachrichten im Internet, so dass die Ausgabe nicht immer korrekt ist.
Es gibt zwar bis zu einem gewissen Grad Umgehungsmöglichkeiten, indem Sie den Typ der Sondennachrichten ändern, aber das hilft nur bis zu einem gewissen Grad, um dieses Problem zu umgehen. Sie müssen dies auch bei der Verwendung dieses Dienstprogramms im Hinterkopf behalten.
Einige Optionen in traceroute
erfordern erhöhte Superuser-Rechte, die eine Änderung der Rohdatenpakete ermöglichen.
tracepath Befehl
Bei Red Hat Enterprise Linux oder RHEL 8 und den davon abgeleiteten Linux-Distributionen ist der Befehl traceroute standardmäßig nicht installiert. Für diejenigen, die das Dienstprogramm traceroute
von früheren Versionen von Red Hat Linux oder CentOS gewohnt sind, kann dies wie eine bedeutende Änderung erscheinen.
Aber es gibt einen ebenso leistungsfähigen Befehl, der unter RHEL8 standardmäßig verfügbar ist, nämlich tracepath
, der über ähnliche Fähigkeiten wie sein Gegenstück tracepath
verfügt und bei der Installation des Betriebssystems sofort einsatzbereit ist.
Darüber hinaus unterstützt tracepath
die MTU-Option, mit der Sie den MTU-Wert (Maximum Transmission Unit) ermitteln können, d.h. das größte Paket, das tracepath
über das Netzwerk senden kann.
Im Folgenden finden Sie ein Beispiel für die Ausgabe von tracepath
:
$ tracepath 131.153.76.66
1?: [LOCALHOST] pmtu 9000
1: 140.91.200.23 0.416ms asymm 2
1: 140.91.200.23 0.239ms asymm 2
2: 140.91.200.74 0.194ms pmtu 1500
2: oracle-svc071175-lag003322.ip.twelve99-cust.net 1.344ms
3: ldn-b7-link.ip.twelve99.net 19.996ms asymm 2
4: ldn-bb1-link.ip.twelve99.net 0.803ms asymm 5
5: prs-bb1-link.ip.twelve99.net 8.548ms asymm 6
6: mei-b5-link.ip.twelve99.net 18.111ms asymm 5
7: keine Antwort
8: phoenix-svc071932-ic358857.ip.twelve99-cust.net 179.691ms asymm 7
9: 131.153.47.139 163.358ms asymm 8
10: keine Antwort
11: 131.153.76.66 159.071ms !H
Resume: pmtu 1500
$
Die oben gezeigte Standardausgabe von tracepath
zeigt die TTL (Time To Live) oder die Umlaufzeit eines Pakets, die MTU (Maximum Transmission Unit), die von tracepath
über das Netzwerk gesendet werden kann, und den aufgelösten Domänennamen, soweit möglich.
tracepath Syntax
die allgemeine Syntax für den Befehltracepath
lautet wie folgt:
$ tracepath <Optionen> <Ziel DNS oder IP>
#1. Ohne Flaggen zeigt tracepath
den Pfad zum Ziel an, wie unten gezeigt:
$ tracepath 131.153.56.85
1?: [LOCALHOST] pmtu 9000
1: 140.91.200.77 0.226ms asymm 2
1: 140.91.200.79 0.497ms asymm 2
2: 140.91.200.74 0.216ms pmtu 1500
2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.691ms
3: slou-b1-link.ip.twelve99.net 1.249ms asymm 2
4: ldn-bb4-link.ip.twelve99.net 0.749ms asymm 3
5: nyk-bb1-link.ip.twelve99.net 80.617ms asymm 8
6: rest-bb1-link.ip.twelve99.net 153.250ms asymm 21
7: nyk-bb1-link.ip.twelve99.net 83.084ms asymm 6
8: nash-bb1-link.ip.twelve99.net 280.770ms asymm 9
9: keine Antwort
10: dls-b23-link.ip.twelve99.net 110.820ms asymm 9
11: phx-b1-link.ip.twelve99.net 131.524ms
12: phx-b1-link.ip.twelve99.net 131.632ms asymm 11
13: giglinx-ic305413-phx-b1.ip.twelve99-cust.net 132.583ms asymm 12
14: keine Antwort
15: giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.685ms asymm 12
16: PHOENIX-NAP.ear3.Chicago2.Level3.net 135.245ms asymm 4
17: keine Antwort
18: keine Antwort
19: speedchi.phoenixnap.com 133.809ms erreicht
Resume: pmtu 1500 hops 19 back 8
$
#2. Wenn Sie nur die IP-Adresse ausgeben möchten, können Sie das Flag -n
verwenden:
$ tracepath -n 131.153.56.85
1?: [LOCALHOST] pmtu 1500
1: 140.91.200.74 0.393ms asymm 2
1: 140.91.200.21 0.180ms asymm 2
2: 213.248.69.255 0.576ms
3: 213.248.98.246 1.210ms asymm 2
4: 62.115.117.122 1.371ms asymm 3
5: 62.115.133.239 141.920ms asymm 20
6: 62.115.141.244 77.732ms asymm 7
7: keine Antwort
8: 62.115.137.55 881.711ms asymm 9
9: keine Antwort
10: 62.115.137.55 914.855ms asymm 9
11: 62.115.125.97 132.182ms
12: 62.115.125.97 131.686ms asymm 11
13: 62.115.42.6 133.132ms asymm 12
14: keine Antwort
15: 62.115.42.10 143.880ms asymm 12
16: 4.14.13.150 134.869ms asymm 4
17: keine Antwort
18: 4.14.13.150 145.263ms asymm 4
19: 131.153.56.85 133.636ms erreicht
Resume: pmtu 1500 hops 19 back 8
$
#3. Um sowohl Hostnamen als auch IP-Adressen auszugeben, verwenden Sie die Option -b
:
$ tracepath -b 131.153.56.85
1?: [LOCALHOST] pmtu 1500
1: 140.91.200.19 (140.91.200.19) 0.197ms asymm 2
1: 140.91.200.74 (140.91.200.74) 0.141ms asymm 2
2: oracle-svc071175-lag003322.ip.twelve99-cust.net (213.248.98.247) 1.186ms
3: slou-b1-link.ip.twelve99.net (213.248.98.246) 10.273ms asymm 2
4: ldn-bb4-link.ip.twelve99.net (62.115.141.246) 0.941ms asymm 3
5: prs-bb2-link.ip.twelve99.net (62.115.133.239) 141.858ms asymm 20
6: rest-bb1-link.ip.twelve99.net (62.115.141.244) 76.210ms asymm 7
7: keine Antwort
8: rest-bb1-link.ip.twelve99.net (62.115.141.244) 89.209ms asymm 7
9: keine Antwort
10: dls-b23-link.ip.twelve99.net (62.115.136.119) 110.335ms asymm 9
11: phx-b1-link.ip.twelve99.net (62.115.125.97) 132.091ms
12: phx-b1-link.ip.twelve99.net (62.115.125.97) 131.844ms asymm 11
13: giglinx-ic315451-phx-b1.ip.twelve99-cust.net (80.239.195.78) 142.975ms asymm 14
14: keine Antwort
15: keine Antwort
16: PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150) 135.233ms asymm 4
17: keine Antwort
18: keine Antwort
19: speedchi.phoenixnap.com (131.153.56.85) 133.871ms erreicht
Resume: pmtu 1500 hops 19 back 8
$
#4. Um einen benutzerdefinierten Wert für die Paketlänge festzulegen, anstatt den Standardwert von tracepath
, D.H. 65535
, zu verwenden, geben Sie den Wert mit dem Flag -l
an:
$ tracepath -l 300 131.153.56.85
1: 140.91.200.77 0.405ms asymm 2
2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.589ms
3: slou-b1-link.ip.twelve99.net 1.448ms asymm 2
4: ldn-bb4-link.ip.twelve99.net 0.960ms asymm 3
5: nyk-bb1-link.ip.twelve99.net 81.564ms asymm 8
6: rest-bb1-link.ip.twelve99.net 78.414ms asymm 7
7: nyk-bb1-link.ip.twelve99.net 84.286ms asymm 6
8: rest-bb1-link.ip.twelve99.net 87.529ms asymm 7
9: keine Antwort
10: dls-b23-link.ip.twelve99.net 110.534ms asymm 9
11: phx-b1-link.ip.twelve99.net 131.449ms
12: phx-b1-link.ip.twelve99.net 131.303ms asymm 11
13: giglinx-ic315451-phx-b1.ip.twelve99-cust.net 143.059ms asymm 14
14: phx-b1-link.ip.twelve99.net 142.348ms asymm 11
15: giglinx-ic--305416-phx-b1.ip.twelve99-cust.net 143.554ms asymm 12
16: PHOENIX-NAP.ear3.Chicago2.Level3.net 134.790ms asymm 4
17: keine Antwort
18: PHOENIX-NAP.ear3.Chicago2.Level3.net 145.926ms asymm 4
19: speedchi.phoenixnap.com 133.736ms erreicht
Resume: pmtu 300 hops 19 back 8
$
#5. Wir können auch den anfänglichen Zielport mit dem Flag -p
wie folgt festlegen:
$ tracepath -p 9000 131.153.56.85
1?: [LOCALHOST] pmtu 1500
1: 140.91.200.18 0.160ms asymm 2
1: 140.91.200.74 0.177ms asymm 2
2: oracle-svc071175-lag003322.ip.twelve99-cust.net 1.151ms
3: slou-b1-link.ip.twelve99.net 1.727ms asymm 2
4: keine Antwort
5: nyk-bb1-link.ip.twelve99.net 81.357ms asymm 8
6: rest-bb1-link.ip.twelve99.net 78.325ms asymm 7
7: keine Antwort
8: rest-bb1-link.ip.twelve99.net 87.908ms asymm 7
9: keine Antwort
10: dls-b23-link.ip.twelve99.net 109.797ms asymm 9
11: phx-b1-link.ip.twelve99.net 132.036ms
12: dls-b23-link.ip.twelve99.net 121.404ms asymm 9
13: giglinx-ic315450-phx-b1.ip.twelve99-cust.net 136.322ms asymm 12
14: phx-b1-link.ip.twelve99.net 142.596ms asymm 11
15: keine Antwort
16: PHOENIX-NAP.ear3.Chicago2.Level3.net 135.182ms asymm 4
17: keine Antwort
18: keine Antwort
19: speedchi.phoenixnap.com 133.562ms erreicht
Resume: pmtu 1500 hops 19 back 8
$
#6. Die maximale Anzahl der Hopfen, die standardmäßig auf 30
eingestellt ist, kann mit der Flagge -m
wie unten gezeigt angepasst werden:
$ tracepath -m 20 131.153.56.85
1?: [LOCALHOST] pmtu 1500
1: 140.91.200.18 0.175ms asymm 2
1: 140.91.200.77 0.169ms asymm 2
2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.669ms
3: slou-b1-link.ip.twelve99.net 2.443ms asymm 2
4: keine Antwort
5: prs-bb2-link.ip.twelve99.net 142.778ms asymm 20
6: rest-bb1-link.ip.twelve99.net 76.756ms asymm 7
7: keine Antwort
8: rest-bb1-link.ip.twelve99.net 89.272ms asymm 7
9: keine Antwort
10: dls-b23-link.ip.twelve99.net 110.378ms asymm 9
11: phx-b1-link.ip.twelve99.net 132.582ms
12: phx-b1-link.ip.twelve99.net 132.135ms asymm 11
13: phx-b1-link.ip.twelve99.net 142.154ms asymm 11
14: keine Antwort
15: giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.298ms asymm 12
16: PHOENIX-NAP.ear3.Chicago2.Level3.net 134.362ms asymm 4
17: keine Antwort
18: keine Antwort
19: speedchi.phoenixnap.com 133.474ms erreicht
Resume: pmtu 1500 hops 19 back 8
$
Beachten Sie, dass tracepath
keine erhöhten Superuser-Rechte wie traceroute
unterstützt, da es die erweiterte Funktion zur Änderung von Paketen nicht unterstützt.
Zusammenfassung
Dieser Artikel fasst die Verwendung des Befehls traceroute zusammen, wie er bei der Fehlersuche im Netzwerk eingesetzt wird und wie wir die gleichen Aufgaben in RHEL8-Systemen mit dem Befehl tracepath erledigen können.
Um mehr über diese Befehle zu erfahren, verwenden Sie die entsprechende Manpage des Tools.
$ man traceroute
$ man tracepath