ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
Wikinttcp

nttcp

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

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-) Rechner in eine Netzwerk. Dabei spielt es keine Rolle, ob die Rechner über Kabel oder WLan verbunden sind.

Installation

Folgendes Paket muss sowohl sowohl auf dem Ausgangs- als auch auf dem Zielrechner installiert [1] werden:

  • nttcp (multiverse)

Wiki/Vorlagen/Installbutton/button.png 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.

Benutzung

Die Syntax von nttcp ist relativ einfach [2]:

nttcp <Option> Zieladresse           # für den Rechner, der die Verbindung initiiert
nttcp -i                             # für den Rechner, der auf die Verbindung wartet 

Als Zieladresse ist dabei die IP-Adresse des Zielrechners anzugeben.

Per Voreinstellung sendet nttcp dabei 2048 TCP-Datenpaket mit einer Größe von 4 kB 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 den Bildschirm).

Hinweis:

Nach Ende der Messung muss man nttcp auf dem Zielrechner manuell stoppen, da es sonst in "Wartestellung" bleibt!

nttcp kennt dabei eine Reihe von Optionen:

Optionen von nttcp
OptionBeschreibung
-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 von 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 in den Manpages zu nttcp nachlesen.

nttcp auf dem Zielrechner automatisch starten

Möchte oder muss man regelmäßig Geschwindigkeitsmessung 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 ausdrücklich aufgrund von Sicherheitsrisiken 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 den Manpages die entsprechenden Hinweise zur Einrichtung.

Beispiel

Die Ausgabe der Messung kann z.B. so aussehen:

user@laptop:~$ 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.

ubuntuusers.local › Wikinttcp