MTR anfertigen, um den Weg des Datenpaketes zu verfolgen. Neben der Erstellung eines TCPdump’s eine weitere Möglichkeit, erste Schritte in Richtung Analyse einer Netzwerkanomalie zu gehen.

MTR steht für My TraceRoute und kann zusammen mit entsprechenden Parametern auf der Kommandozeile ausgeführt werden, um den Datenfluss eines Paketes über die verschiedenen Router (Hops, oder auch Knotenpunkte genannt) zu verfolgen.

 

Ein Beispiel: Um zu Wissen, welchen Weg und welche Router die Datenpakete durchlaufen, wird ein virtueller Server genutzt und das Paket zu einem Google Server geschickt.

Funktionsweise: mtr sendet mehrere ICMP echo requests an die Ziel Adresse. Dabei wird jedoch im IP Paket die TTL (Time to live) limitiert. Der erste ICMP echo request hat nur eine TTL von 1, der nächste request eine TTL von 2, usw.
Durch diese limitierte TTL wird das IP Paket bereits beim ersten, zweiten, etc. Router (Hop) verworfen. Der jeweilige Router antwortet daraufhin mit einer ICMP Time-to-live exceeded Nachricht.
Somit weiß mtr nun, welchen Router das Paket durchlaufen hat und kann das mit in die Ausgabe einpflegen. Anschließend, sollte das Ziel nicht bereits erreicht sein, wird erneut ein Paket an die Zieladresse geschickt, welches nun die vorherige TTL +1 besitzt.

Nachdem die TTL so lange erhöht wurde, bis das Ziel schließlich erreicht wird, beginnt mtr wieder von vorne. Mit der Zeit ermittelt mtr dann so 3 Werte (Durchschnitt, bester Wert und schlechtester Wert)

 

Tipp: ICMP ist ein Protokoll, welches z.B. bei Firewall Lösungen geblockt werden kann. Wenn dies der Fall ist, kommt keine Antwort zurück und mtr weißt einen unbekannten Router / Hop auf.

 

Info: Diese Art der Auswertung prüft, ob Netzwerkanomalien seitens des Servers bestehen. Es kann jedoch durchaus sein, dass z.B. Verbindungsabbrüche seitens den Clients (also des Anwenders) bestehen. Generell wird empfohlen, jeweils ein mtr seitens des Servers und ein mtr seitens des Clients anzufertigen.

 

Los gehts!
Das benötigte Paket heißt mtr. Da dieses nicht Bestandteil des Betriebssystems ist, muss es zunächst mit dem Befehl apt install mtr installiert werden.

mtr kann direkt und live auf der Konsole ausgeführt werden. Nachteil ist, dass die Werte nicht mehr greifbar sind, sobald mtr beendet wurde.
Daher macht der Parameter -r Sinn. Dieser fertigt ein mtr an, welches nach Abschluss auf der Konsole ausgegeben wird, sodass das Ergebnis z.B. aus der Konsole herauskopiert werden kann.

 

Die Tabelle zeigt die wichtigsten Parameter für die Ausführung des mtr.

-hAnzeige aller Optionen (Hilfe)
-c ANZAHLANZAHL gibt an, wie viele MTR-Anfragen gesendet werden sollen, danach stoppt MTR automatisch (lässt man die Option -c weg, so werden zehn Anfragen gesendet)
-rReportmodus. Benutzung mit Option -c. MTR läuft die angegebenen Anfragen durch, zeigt die Statistik an und endet automatisch
-nMTR zeigt die IP-Adressen anstatt der Hostnames
-4Nutzt IPv4-Protokoll
-6Nutzt IPv6-Protokoll
-wAnzeige der vollständigen Hostnamen

 

Mit dem Befehl mtr -r -c 200 -w www.google.de werden 200 echo requests an www.google.de versendet. Durch den Parameter -w werden, wenn möglich, die Hostnames angezeigt.

 

root@mk-hosting:~# mtr -r -c 200 -w www.google.de
Start: Wed Sep 26 10:23:26 2018
HOST: mk-hosting.net Loss% Snt Last Avg Best Wrst StDev
1.|-- 194.48.171.1 0.0% 200 5.3 4.3 0.2 60.5 9.8
2.|-- 84.200.230.21 0.0% 200 0.3 1.8 0.2 26.7 4.2
3.|-- 84.200.230.50 0.0% 200 0.9 2.7 0.8 53.8 8.2
4.|-- de-cix.fra.google.com 0.0% 200 0.9 1.5 0.9 22.5 2.6
5.|-- 108.170.251.129 0.0% 200 1.2 1.2 1.1 1.6 0.0
6.|-- 66.249.95.29 0.0% 200 0.9 0.9 0.8 1.1 0.0
7.|-- fra15s16-in-f35.1e100.net 0.0% 200 1.1 1.1 1.0 1.2 0.0
root@mk-hosting:~#

 

Analyse:
Der erste Router (Hop) ist das Gateway des Servers selbst.
Die Router 2 & 3 sind beides Router innerhalb des Rechenzentrum, die das Paket auf dem Weg nach draußen durchläuft.
Der vierte Router ist der de-cix in Frankfurt.
Die letzten 3 Router sind bereits verschiedene Knotenpunkte von Google.

Zu sehen ist, dass kein Paketloss besteht, somit also die Datenpakete problemlos vom Server im Rechenzentrum in Frankfurt zu einem Google Server in den USA geschickt werden können.

Kategorien: Anleitungen