Raspberry Pi – Netzwerk Diagnose Teil 4
Im letzten Teil dieser Artikelserie geht es um Performance und um Traffic. Diese beiden Begriffe sind sehr stark miteinander verbunden. Die Performance zeigt und mit welchem Durchsatz, also Schnelligkeit Daten übertragen werden. Und beim Traffic geht es um die Frage wie viele Daten übertragen werden. In den letzten Jahrzehnten gab es hier mehrere Technologiesprünge. Über Datenleitungen werden immer mehr Daten mit immer besserer Performance geschickt. Auch bei der drahtlosen Übertragung mit Funk (WLAN) gab es zahlreiche Fortschritte. Ich zeige euch Tools mit denen ihr Schwachstellen (langsame Subnetze oder Verbindungen) aufspürt.
Performance testen
Ping
Der einfachste Performance Test ist wohl das gute alte Ping. Damit lässt sich zwar sehr wenig über das Netzwerk aussagen, jedoch liefert es bereits einen Anhaltspunkt dafür, in welcher Zeit Pakete vom Ziel zum Empfänger gesendet werden. Es sagt leider wenig darüber aus, ob Ziel und Empfänger mit einem Kabel verbunden sind und nebeneinander stehen, oder ob dazwischen hunderte Router, Switches und tausende Kilometer Kabel sind. Ein Beispiel:
ping google.at
Liefert folgendes Ergebnis:
PING google.at (173.194.116.159) 56(84) bytes of data. 64 bytes from 173.194.116.159: icmp_req=1 ttl=53 time=25.0 ms
Unser Paket brauchte also ganze 25 Millisekunden.
Iperf
Iperf ist ein Tool um die Performance zu testen. Dabei werden mehrere Megabyte Daten übertragen und anhand der Übertragungsdauer wird dann die Bandweite, also das Verhältnis von Datenmenge zu benötigten Zeit errechnet. Diese wir mit mbit/s angegeben (Megabit pro Sekunde). Installiert wird das Tool wie folgt:
sudo apt-get install iperf
Iperf ist ein Client- Server Programm, muss also an 2 Rechnern gestartet werden. Den Server startet man mit:
sudo iperf -s
dieser läuft so lange bis man ihn beendet. Den Server habe ich auf meiner Ubuntu Maschine gestartet. Den Client kann man am Raspberry Pi (oder einen anderen Computer mit Linux oder Unix) wie folgt starten:
sudo iperf -c 192.168.1.2
Hier muss man die IP Adresse des Servers angeben. Der Client läuft nur einen Test lang und gibt das Ergebnis auf der Kommandozeile aus. Der Server gibt das Ergebnis auch aus, läuft aber danach weiter um bei weiteren Geräten die Messung durchzuführen. Das Bild zeigt eine mögliche Ausgabe.
Traffic anzeigen
NetHogs
NetHogs ist ein Monitor Programm, welches die Programme und Dienste des Systems zeigt, die gerade über TCP kommunizieren. Viele Tools zeigen die Bandbreite die gerade insgesamt vom System verwendet wird. Nethogs zeigt genau, welche Programme wie viel Bandbreite benötigen. Somit kann man sehr leicht beurteilen welche Programme den größten Teil des Traffics haben. Installiert wird das Programm folgendermaßen:
sudo apt-get install nethogs
Das Programm ist auch ähnlich einfach zu bedienen. Das einzige das man beachten muss ist, dass es mit Root Rechten gestartet werden muss.
sudo nethogs
Ohne weitere Parameter wird der Traffic der eth0 Schnittstelle gezeigt. Wer so wie ich den Raspberry Pi über den WLAN Stick verwendet muss die WLAN Schnittstelle als Parameter angeben:
sudo nethogs wlan0
Das Programm erzeugt die im Bild zu sehende Ausgabe. Ich habe am Raspberry Pi eine SSH Session offen (deshalb auch der Screenshot vom Mac aus!), eine VNC Session und in dieser habe ich einen Browser offen. Man erkennt sehr gut, dass der Browser gerade keine Seite lädt, die ganze Bandbreite wird von der VNC Session und ein kleiner Teil von der SSH Session benötigt.
IPTraf
Das letzte Tool das ich hier noch vorstellen möchte heißt IPTraf. Damit kann man auch den IP Traffic anzeigen. Installiert wird das Programm mit folgendem Kommando:
sudo apt-get install iptraf
Die Verwendung von IPTraf am Raspberry Pi ist einfach:
sudo iptraf
Auch bei IPTraf muss man Root Rechte verwenden. Das Programm hat zum Unterschied zu meinen bisher vorgestellten auch eine grafische Oberfläche. Damit ist das Arbeiten gleich etwas einfacher (zumindest für Leute die nicht so gerne auf der Kommandozeile arbeiten). Eine mögliche Ausgabe des Monitorings meiner WLAN Schnittstelle am Raspberry Pi sieht folgendermaßen aus:
Soweit mein kleiner Einstieg in die Welt des Netzwerkadministrators oder auch Raspberry Pi Freaks. Es gibt zahlreiche weitere gute Tools für Linux, am besten ihr nennt mir hier weitere.
Vielen Dank für die Info über die Tools. Sehr cool.
Ich habe bis jetzt immer „iftop“ verwendet. Aber iptraf scheint den Vorteil zu haben, das auch beendete Verbindungen noch angezeigt werden. Sehr praktisch.
NetHogs scheint nicht mehr zu funktionieren auf Raspian. Nach der Installation wird nur noch diese Fehlermeldung ausgegeben:
creating socket failed while establishing local IP – are you root?
die Fehlermeldung gibt dir auch schon den Hinweis auf die Lösung. Es werden höhere Rechte benötigt die dein pi User nicht hat. Schon mal versucht das mit sudo auszuführen?