Linux Netzwerk Analyse mit mtr

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Das Netzwerk-Diagnose-Tool mtr (My Traceroute) kombiniert in einem einzelnen Programm die Funktionalität der beiden Tools traceroute und ping. Es kann als textbasiertes ncurses Programm oder als grafisches GTK+ Programm benutzt werden. mtr wird von der holländischen Firma BitWizard B.V. entwickelt.

Funktionsweise

Das Programm wird auf der Kommandozeile zusammen mit einem Host als Parameter aufgerufen. Als Host gibt man jenen Hostnamen bzw. jene IP an, zu welcher man die Verbindung vom aktuellen Rechner aus überprüfen will:

mtr www.google.com

Nach der DNS Ausflösung sendet mtr mehrere ICMP echo requests (Pings) an die aufgelöste IP Adresse. Dabei wird allerdings 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, etc. Durch diese limitierte TTL wird das IP Paket bereits beim ersten, zweiten, etc. Hop (Router) verworfen. Der jeweilige Router antwortet daraufhin mit einer ICMP Time-to-live exceeded Nachricht. mtr bekommt dadurch von jedem Router eine solche Nachricht zurück und weiß somit welche Router auf den Weg hin zum Host vorhanden sind.

Nachdem die TTL so lange erhöht wurde, bis der Host schließlich erreicht wird, beginnt mtr wieder von vorne. Mit der Zeit ermittelt mtr dann so Durchschnittswerte/Best-Case-Werte/Worst-Case-Werte.

Installation

mtr liegt bereits den meisten Linux-Distributionen direkt bei. Es kann über das jeweilige Paketmanagement mit folgenden Paketnamen installiert werden:

  • Red Hat/CentOS/Fedora/SuSE: mtr (Textversion), mtr-gtk (grafische Version)
  • Debian/Ubuntu: mtr-tiny (Textversion), mtr (Textversion und grafische Version)

Beispiele

Die folgenden Beispiele zeigen einige mtr Abfragen. Die ersten drei Hops wurden dabei jeweils anonymisiert.

Interaktive Ausgabe

Die folgende Ausgabe zeigt den Aufruf von mtr. Unter Debian/Ubuntu ist der Parameter -t für die Konsolenversion erforderlich wenn das Paket mtr installiert ist (und nicht mtr-tiny):

mtr www.google.com
                                    My traceroute  [v0.80]
tpw (0.0.0.0)                                                        Wed Dec 18 09:24:14 2013
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                     Packets               Pings
 Host                                              Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. dsldevice.lan                                   0.0%    24   68.4  66.2   4.8 100.6  23.8
 2. XXXXX(Provider)XXXXX.at                         0.0%    24   19.8  20.6  19.1  29.6   2.5
 3. 195.3.66.157                                    0.0%    24   19.7  21.2  19.0  51.4   6.7
 4. 195.3.68.1                                      0.0%    24   22.3  25.5  21.8  42.3   6.3
 5. 195.3.70.154                                    0.0%    24   22.3  25.6  22.0  51.1   8.3
 6. 62.47.120.150                                   0.0%    24   26.3  27.4  26.1  38.6   2.9
 7. 209.85.243.119                                  0.0%    24   26.9  26.8  26.3  27.5   0.3
 8. 209.85.241.212                                  0.0%    24   64.1  49.5  38.6  73.8  14.0
 9. 209.85.251.249                                  0.0%    24   38.4  39.8  38.0  47.1   2.2
10. 209.85.242.49                                   0.0%    24   39.5  39.0  38.4  39.6   0.3
11. fra02s17-in-f20.1e100.net                       0.0%    24   39.0  38.6  38.1  39.1   0.3

Report Ausgabe

mtr kann auch in einem Report-Modus (-r) ausgeführt werden. Die Anzahl der Abfragen wird mit dem Parameter -c angegeben. Mittels -w erreicht man, dass lange Hostnamen vollständig anzeigt und nicht abgeschnitten werden:

user@tpw:~$ mtr -r -w -c 10 www.google.com
HOST: tpw                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- dsldevice.lan                            0.0%    10   96.9  42.2   1.3  99.8  47.3
  2.|-- XXXXX(Provider)XXXXX.at                  0.0%    10   19.9  20.7  19.4  28.3   2.7
  3.|-- 195.3.66.157                             0.0%    10   19.6  19.4  18.9  20.1   0.3
  4.|-- 195.3.68.1                               0.0%    10   21.9  22.3  21.9  22.7   0.2
  5.|-- 195.3.70.186                             0.0%    10   22.5  29.8  22.2  87.5  20.4
  6.|-- 62.47.120.150                           10.0%    10   46.2  34.3  26.3  76.8  17.2
  7.|-- 209.85.243.119                           0.0%    10   26.7  27.3  26.4  33.0   2.0
  8.|-- 209.85.241.212                           0.0%    10   51.9  54.6  40.1  61.6   6.1
  9.|-- 209.85.251.249                           0.0%    10   38.9  38.8  38.7  39.0   0.1
 10.|-- 209.85.242.49                            0.0%    10   39.7  39.3  38.8  40.2   0.4
 11.|-- fra02s17-in-f18.1e100.net                0.0%    10   39.0  38.6  38.2  39.0   0.2
user@tpw:~$

Grafische Ausgabe

Die grafische Version wird mit dem Kommando xmtr gestartet bzw. bei Debian/Ubuntu mit mtr:

xmtr www.google.com
Das Kommando xmtr (mtr unter Debian/Ubunt) startet von der Kommandozeile aus die grafische Variante von mtr (My traceroute)

Analyse

Bei weiter entfernten Seiten kann man durch die jeweilige round trip time erkennen zwischen welchen Hops (Routern) Seekabel-Verbindungen (beispielsweise über den Atlantik) vorliegen. Beim Analysieren der Verbindung zu www.areca.com.tw ist dies erkennbar:

user@tpw:~$ mtr -r -w -c 10 www.areca.com.tw
HOST: tpw                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- dsldevice.lan                            0.0%    10   42.9  63.0  42.7  97.5  21.8
  2.|-- 194-166-175-254.adsl.highway.telekom.at  0.0%    10   19.5  20.8  19.4  28.9   3.0
  3.|-- 195.3.66.157                             0.0%    10   18.7  19.3  18.5  19.8   0.4
  4.|-- 195.3.68.1                               0.0%    10   21.9  27.1  21.7  70.7  15.3
  5.|-- 195.3.70.178                            10.0%    10   22.5  25.4  21.8  39.3   6.3
  6.|-- win-b4-link.telia.net                    0.0%    10   22.7  22.7  22.4  23.0   0.2
  7.|-- prag-bb1-link.telia.net                  0.0%    10   28.9  28.7  28.4  29.2   0.3
  8.|-- ffm-bb1-link.telia.net                   0.0%    10   99.3  56.1  46.7  99.3  18.9
  9.|-- ash-bb3-link.telia.net                  30.0%    10  142.3 149.8 136.7 193.0  19.5
    |  `|-- 213.155.131.145
    |   |-- 213.155.135.61
    |   |-- 80.91.250.203
    |   |-- 213.155.135.57
 10.|-- sjo-bb1-link.telia.net                  80.0%    10  215.8 212.9 210.0 215.8   4.1
    |  `|-- 213.155.135.129
 11.|-- chunghwa-ic-155505-sjo-bb1.c.telia.net  80.0%    10  204.6 208.6 204.6 212.7   5.7
 12.|-- r4001-s2.tp.hinet.net                   50.0%    10  346.3 345.5 343.3 346.4   1.3
 13.|-- 220-128-12-2.HINET-IP.hinet.net         90.0%    10  341.3 341.3 341.3 341.3   0.0
 14.|-- tpdt-3011.hinet.net                     90.0%    10  346.4 346.4 346.4 346.4   0.0
 15.|-- TCHN-3011.hinet.net                     80.0%    10  357.6 358.1 357.6 358.5   0.6
 16.|-- ???                                     100.0    10    0.0   0.0   0.0   0.0   0.0
user@tpw:~$

Bei dieser Abfrage geht es offensichtlich zwischen folgenden Routern über eine längere Seekabelverbindung durch ein Meer, erkennbar an den hohen Differenzen der durchschnittlichen Pingzeiten (Avg):

  • zwischen Hop 8 (56.1 ms) und 9 (149.8 ms)
  • zwischen Hop 11 (208.6 ms) und 12 (345.5 ms)

Weitere Informationen


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

Linux Netzwerk Analyse mit traceroute
Fio
Linux Performance Analyse in 60 Sekunden