Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
nttcp ist ein Werkzeug für die Kommandozeile, mit dem man die Geschwindigkeit einer Netzwerkverbindung testen kann. Dies kann z.B. nützlich sein, wenn man die Übertragungsgeschwindigkeit zwischen einem Client und einem Server testen möchte. Natürlich eignet sich nttcp auch zur Messung zwischen zwei (Client-)Rechnern in einem Netzwerk. Dabei spielt es keine Rolle, ob die Rechner über Kabel oder WLAN verbunden sind.
Folgendes Paket muss sowohl auf dem Ausgangs- als auch auf dem Zielrechner installiert [1] werden:
nttcp (multiverse)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install nttcp
sudo aptitude install nttcp
nttcp ist auch für andere Unix-Varianten verfügbar, so dass nicht unbedingt auf beiden Rechner Linux installiert sein muss.
Die Syntax von nttcp ist relativ einfach [2]:
nttcp <Option> Zieladresse # Rechner, der die Verbindung aufbaut nttcp -i # Rechner, der auf die Verbindung wartet
Als Zieladresse ist dabei die IP-Adresse des Zielrechners anzugeben.
Per Voreinstellung sendet nttcp dabei 2048 TCP-Datenpakete mit einer Größe von 4 kiB an den Zielrechner und misst dabei die Zeit, die dafür benötigt wird. Die Ergebnisse der Transfergeschwindigkeitsmessung werden in Tabellenform dargestellt. Die Ausgabe erfolgt dabei standardmäßig auf stdout (also in der Regel auf den Bildschirm).
Nach Ende der Messung muss man nttcp mit der Tastenkombination Strg + C auf dem Zielrechner manuell stoppen, da es sonst in "Wartestellung" bleibt.
nttcp kennt dabei eine Reihe von Optionen:
Optionen von nttcp | |
Option | Beschreibung |
-T | gibt eine Kopfzeile für die Ergebnistabelle aus (verbessert die Lesbarkeit der Ergebnisse) |
-u | nttcp versendet UDP-Pakete statt TCP-Pakete |
-n Zahl | es werden "Zahl" Datenpakete verschickt (Voreinstellung 2048) |
-l Zahl | die Datenpakete haben eine Länge von "Zahl", muss in Byte angegeben werden (Voreinstellung 4096) |
-r | die Datensenderichtung wird umgedreht, d.h. der Ausgangsrechner initiiert die Verbindung, allerdings werden die Datenpakete vom Zielrechner an den Ausgangsrechner gesendet |
-v | ausführlichere Ausgabe, i.d.R. nur bei Problemen nötig |
-h | gibt eine kurze Befehlsübersicht zu nttcp aus |
nttcp kennt noch eine Reihe weitere Optionen, so kann z.B. auch die Art der Ausgabe des Ergebnisses beeinflusst werden. Die weiteren Optionen kann man in der Manpage zu nttcp nachlesen.
Möchte oder muss man regelmäßig Geschwindigkeitsmessungen zwischen zwei Rechner machen, so kann man auf dem Zielrechner (z.B. dem Server) auch nttcp per inetd starten lassen. Davon rät der Entwickler aber aufgrund von Sicherheitsrisiken ausdrücklich ab!
"Under security considerations, the inetd-mode of operation is NOT suggested. Hosts configured to start nttcp this way, are very open to denial-of-service attacks. If you are concerned about this issue, you should consider either the use of tcpwrapper or simply not install nttcp this way." (Zitat aus den Manpages, Abschnitt "Security")
Wer nttcp trotzdem über inetd starten lassen möchte, findet in der Manpage die entsprechenden Hinweise zur Einrichtung.
Die Ausgabe der Messung kann z.B. so aussehen:
nttcp -T 192.168.2.100
Bytes Real s CPU s Real-MBit/s CPU-MBit/s Calls Real-C/s CPU-C/s l 8388608 13.21 0.19 5.0794 349.5053 2048 155.01 10666.1 1 8388608 13.25 0.07 5.0654 932.0158 5686 429.18 78967.8
Hier wurde also eine Verbindung zum (lokalen) Rechner mit der IP-Adresse 192.168.2.100 aufgebaut. Die Transferrate zwischen dem Ausgangsrechner und dem Zielrechner wurde mit ca. 5,1 MBit/s bestimmt.
ehemalige Homepage - nicht mehr verfügbar
iperf - Netzwerk-Geschwindigkeit messen
Benchmarks Übersichtsartikel
Diese Revision wurde am 23. Dezember 2016 05:42 von aasche erstellt.