Linux Netzwerk Analyse mit mtr

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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 arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

Ethtool --dump-module-eeprom
Linux Netzwerk Analyse mit traceroute
Mehrere IP Adressen einem Netzwerk Interface zuordnen