Iperf3: Unterschied zwischen den Versionen
Erscheinungsbild
| (19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
''' | '''iperf3''' - Messen der Internet-Protokoll-Bandbreite | ||
== Beschreibung == | == Beschreibung == | ||
Messung des Netzwerkdurchsatzes | |||
* TCP | |||
* UDP | |||
; Implementierung | |||
[[iperf3]] ist eine neue Implementierung von iperf und nicht rückwärtskompatibel | |||
== Installation == | == Installation == | ||
| Zeile 7: | Zeile 13: | ||
sudo apt install iperf3 | sudo apt install iperf3 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; Dateien | |||
/etc/init.d/iperf3 | |||
/etc/ufw/applications.d/iperf3 | |||
/usr/bin/iperf3 | |||
/usr/lib/systemd/system/iperf3.service | |||
/usr/share/doc/iperf3/README.md.gz | |||
/usr/share/doc/iperf3/changelog.Debian.gz | |||
/usr/share/doc/iperf3/changelog.gz | |||
/usr/share/doc/iperf3/copyright | |||
/usr/share/man/man1/iperf3.1.gz | |||
== Aufruf == | == Aufruf == | ||
; Server | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
iperf3 -s [options] | |||
</syntaxhighlight> | |||
; Client | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
iperf3 -c server [options] | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Optionen === | === Optionen === | ||
==== Allgemein ==== | |||
{| class="wikitable sortable options gnu big" | {| class="wikitable sortable options gnu big" | ||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |||
| -p || --port n | |||
| || Server-Port zum Abhören/Verbinden auf n setzen (Standard 5201) | |||
|- | |||
| -f || --format | |||
| || [kmgtKMGT] Format für die Berichterstattung: Kbits/Mbits/Gbits/Tbits | |||
|- | |||
| -i || --interval n | |||
| || Pause von n Sekunden zwischen periodischen Durchsatzberichten; Standardwert ist 1, verwenden Sie 0, um diese Option zu deaktivieren. | |||
|- | |||
| -I || --pidfile file | |||
| || Schreibt eine Datei mit der Prozess-ID, besonders nützlich bei der Ausführung als Daemon. | |||
|- | |- | ||
| -F || --file name | |||
| || Verwenden Sie eine Datei als Quelle (auf dem Sender) oder Senke (auf dem Empfänger) von Daten, anstatt nur zufällige Daten zu generieren oder diese zu verwerfen | |||
* Diese Funktion wird verwendet, um festzustellen, ob das Speichersubsystem den Engpass für Dateiübertragungen darstellt | |||
* Sie verwandelt iperf3 nicht in ein Dateiübertragungswerkzeug | |||
* Die Länge, die Attribute und in einigen Fällen auch der Inhalt der empfangenen Datei stimmen möglicherweise nicht mit denen der Originaldatei überein | |||
|- | |||
| -A || --affinity n/n,m | |||
| || Legt die CPU-Affinität fest, sofern möglich (nur Linux, FreeBSD und Windows) | |||
* Sowohl auf dem Client als auch auf dem Server können Sie die lokale Affinität festlegen, indem Sie die n-Form dieses Arguments verwenden (wobei n eine CPU-Nummer ist) | |||
* Darüber hinaus können Sie auf der Client-Seite die Affinität des Servers für genau diesen einen Test mit der n,m-Form des Arguments überschreiben | |||
* Beachten Sie, dass bei Verwendung dieser Funktion ein Prozess nur an eine einzelne CPU gebunden ist (im Gegensatz zu einem Satz, der möglicherweise mehrere CPUs enthält) | |||
|- | |||
| -B || --bind host[%dev] | |||
| || An die spezifische Schnittstelle binden, die mit der Adresse host | |||
* Wenn eine optionale Schnittstelle angegeben ist, wird sie als Abkürzung für --bind-dev dev behandelt. | |||
* Beachten Sie, dass für IPv6-Link-Local-Adressliterale ein Prozentzeichen und der Name des Schnittstellengeräts erforderlich sind. | |||
|- | |||
| || --bind-dev dev | |||
| || An die angegebene Netzwerkschnittstelle binden | |||
* Diese Option verwendet SO_BINDTODEVICE und erfordert möglicherweise Root-Rechte. (Verfügbar unter Linux und möglicherweise anderen Systemen.) | |||
|- | |||
| -V || --verbose | |||
| || gibt detailliertere Ausgaben | |||
|- | |||
| -J || --json | |||
| || gibt im JSON-Format aus | |||
|- | |||
| || --json-stream | |||
| || gibt im zeilenbegrenzten JSON-Format aus | |||
|- | |||
| || --logfile file | |||
| || sendet die Ausgabe an eine Protokolldatei | |||
|- | |||
| || --forceflush | |||
| || erzwingt das Leeren des Puffers in jedem Intervall | |||
* Wird verwendet, um Pufferung beim Senden der Ausgabe an eine Pipe zu vermeiden | |||
|- | |||
| || --timestamps[=format] | |||
| || fügt am Anfang jeder Ausgabzeile einen Zeitstempel ein | |||
* Standardmäßig haben Zeitstempel das von ctime(1) ausgegebene Format | |||
* Optional kann = gefolgt von einer Formatspezifikation übergeben werden, um die Zeitstempel anzupassen, siehe strftime (3) | |||
* Wenn dieses optionale Format angegeben wird, muss das = unmittelbar auf die Option --timestamps folgen, ohne dass dazwischen Leerzeichen stehen | |||
|- | |||
| || --rcv-timeout # | |||
| || Legt die Leerlauf-Zeitüberschreitung für den Empfang von Daten während aktiver Tests fest | |||
* Der Empfänger bricht einen Test ab, wenn für diese Anzahl von Millisekunden (standardmäßig 120000 ms oder 2 Minuten) keine Daten vom Sender empfangen werden | |||
|- | |||
| || --snd-timeout # | |||
| || Zeitüberschreitung für nicht bestätigte TCP-Daten festlegen (sowohl für Test- als auch für Steuerverbindungen) Diese Option kann verwendet werden, um im Falle einer Netzwerkpartitionierung während eines Tests eine schnellere Testzeitüberschreitung zu erzwingen | |||
* Der erforderliche Parameter wird in ms angegeben und ist standardmäßig auf die Systemeinstellungen voreingestellt | |||
* Diese Funktionalität hängt von der Socket-Option TCP_USER_TIMEOUT ab und funktioniert nicht auf Systemen, die diese Option nicht unterstützen. | |||
|- | |||
| || --use-pkcs1-padding | |||
| || Diese Option ist nur bei Verwendung der Authentifizierungsfunktionen von iperf3 sinnvoll. | |||
* Versionen von iperf3 vor 3.17 verwendeten PCKS1-Padding in den RSA-verschlüsselten Anmeldedaten, was anfällig für Seitenkanalangriffe war, durch die der private Schlüssel eines Servers offengelegt werden konnte | |||
* Ab iperf-3.17 wird OAEP-Padding verwendet, dies ist jedoch eine grundlegende Änderung, die mit älteren iperf3-Versionen nicht kompatibel ist | |||
* Verwenden Sie diese Option, um das weniger sichere, aber kompatiblere Verhalten beizubehalten | |||
|- | |||
| -d || --debug | |||
| || Debugging-Ausgabe ausgeben | |||
* In erster Linie (möglicherweise ausschließlich) für Entwickler von Nutzen. | |||
|- | |- | ||
| || || | | | -v || --version | ||
| || Versionsinformationen anzeigen und beenden. | |||
|- | |- | ||
| -h || --help | |||
| || Eine Hilfeübersicht anzeigen. | |||
|} | |} | ||
| Zeile 34: | Zeile 140: | ||
== Anwendung == | == Anwendung == | ||
=== IPv4 === | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 | iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 | ||
| Zeile 39: | Zeile 146: | ||
0.00-10.00 sec 1.11 GBytes 951 Mbits/sec 0 sender | 0.00-10.00 sec 1.11 GBytes 951 Mbits/sec 0 sender | ||
0.00-10.01 sec 1.11 GBytes 951 Mbits/sec receiver | 0.00-10.01 sec 1.11 GBytes 951 Mbits/sec receiver | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 -R | iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 -R | ||
Interval Transfer Bitrate Retr | Interval Transfer Bitrate Retr | ||
0.00-10.01 sec 1.10 GBytes 948 Mbits/sec 335 sender | 0.00-10.01 sec 1.10 GBytes 948 Mbits/sec 335 sender | ||
0.00-10.00 sec 1.10 GBytes 948 Mbits/sec receiver | 0.00-10.00 sec 1.10 GBytes 948 Mbits/sec receiver | ||
</syntaxhighlight> | |||
=== IPv6 === | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 | iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 | ||
Interval Transfer Bitrate Retr | Interval Transfer Bitrate Retr | ||
0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 sender | 0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 sender | ||
0.00-10.01 sec 1.09 GBytes 938 Mbits/sec receiver | 0.00-10.01 sec 1.09 GBytes 938 Mbits/sec receiver | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 -R | iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 -R | ||
Interval Transfer Bitrate Retr | Interval Transfer Bitrate Retr | ||
| Zeile 84: | Zeile 196: | ||
---- | ---- | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | ||
---- | |||
* libiperf(3) | |||
* https://software.es.net/iperf | |||
=== Dokumentation === | === Dokumentation === | ||
| Zeile 95: | Zeile 210: | ||
=== Links === | === Links === | ||
==== Projekt ==== | ==== Projekt ==== | ||
# https://iperf.fr/iperf-download.php | |||
==== Weblinks ==== | ==== Weblinks ==== | ||
# https://de.wikipedia.org/wiki/Iperf | |||
# https://speedtest.serverius.net/ | |||
{{DEFAULTSORT:iperf3}} | |||
{{DEFAULTSORT: | {{DISPLAYTITLE:iperf3}} | ||
{{DISPLAYTITLE: | |||
[[Kategorie: | [[Kategorie:Netzwerk/Analyse]] | ||
</noinclude> | </noinclude> | ||
Aktuelle Version vom 23. Februar 2026, 11:08 Uhr
iperf3 - Messen der Internet-Protokoll-Bandbreite
Beschreibung
Messung des Netzwerkdurchsatzes
- TCP
- UDP
- Implementierung
iperf3 ist eine neue Implementierung von iperf und nicht rückwärtskompatibel
Installation
sudo apt install iperf3
- Dateien
/etc/init.d/iperf3 /etc/ufw/applications.d/iperf3 /usr/bin/iperf3 /usr/lib/systemd/system/iperf3.service /usr/share/doc/iperf3/README.md.gz /usr/share/doc/iperf3/changelog.Debian.gz /usr/share/doc/iperf3/changelog.gz /usr/share/doc/iperf3/copyright /usr/share/man/man1/iperf3.1.gz
Aufruf
- Server
iperf3 -s [options]
- Client
iperf3 -c server [options]
Optionen
Allgemein
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
| -p | --port n | Server-Port zum Abhören/Verbinden auf n setzen (Standard 5201) | |
| -f | --format | [kmgtKMGT] Format für die Berichterstattung: Kbits/Mbits/Gbits/Tbits | |
| -i | --interval n | Pause von n Sekunden zwischen periodischen Durchsatzberichten; Standardwert ist 1, verwenden Sie 0, um diese Option zu deaktivieren. | |
| -I | --pidfile file | Schreibt eine Datei mit der Prozess-ID, besonders nützlich bei der Ausführung als Daemon. | |
| -F | --file name | Verwenden Sie eine Datei als Quelle (auf dem Sender) oder Senke (auf dem Empfänger) von Daten, anstatt nur zufällige Daten zu generieren oder diese zu verwerfen
| |
| -A | --affinity n/n,m | Legt die CPU-Affinität fest, sofern möglich (nur Linux, FreeBSD und Windows)
| |
| -B | --bind host[%dev] | An die spezifische Schnittstelle binden, die mit der Adresse host
| |
| --bind-dev dev | An die angegebene Netzwerkschnittstelle binden
| ||
| -V | --verbose | gibt detailliertere Ausgaben | |
| -J | --json | gibt im JSON-Format aus | |
| --json-stream | gibt im zeilenbegrenzten JSON-Format aus | ||
| --logfile file | sendet die Ausgabe an eine Protokolldatei | ||
| --forceflush | erzwingt das Leeren des Puffers in jedem Intervall
| ||
| --timestamps[=format] | fügt am Anfang jeder Ausgabzeile einen Zeitstempel ein
| ||
| --rcv-timeout # | Legt die Leerlauf-Zeitüberschreitung für den Empfang von Daten während aktiver Tests fest
| ||
| --snd-timeout # | Zeitüberschreitung für nicht bestätigte TCP-Daten festlegen (sowohl für Test- als auch für Steuerverbindungen) Diese Option kann verwendet werden, um im Falle einer Netzwerkpartitionierung während eines Tests eine schnellere Testzeitüberschreitung zu erzwingen
| ||
| --use-pkcs1-padding | Diese Option ist nur bei Verwendung der Authentifizierungsfunktionen von iperf3 sinnvoll.
| ||
| -d | --debug | Debugging-Ausgabe ausgeben
| |
| -v | --version | Versionsinformationen anzeigen und beenden. | |
| -h | --help | Eine Hilfeübersicht anzeigen. |
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
IPv4
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4
Interval Transfer Bitrate Retr
0.00-10.00 sec 1.11 GBytes 951 Mbits/sec 0 sender
0.00-10.01 sec 1.11 GBytes 951 Mbits/sec receiver
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 -R
Interval Transfer Bitrate Retr
0.00-10.01 sec 1.10 GBytes 948 Mbits/sec 335 sender
0.00-10.00 sec 1.10 GBytes 948 Mbits/sec receiver
IPv6
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6
Interval Transfer Bitrate Retr
0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 sender
0.00-10.01 sec 1.09 GBytes 938 Mbits/sec receiver
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 -R
Interval Transfer Bitrate Retr
0.00-10.01 sec 1.09 GBytes 931 Mbits/sec 243 sender
0.00-10.00 sec 1.09 GBytes 934 Mbits/sec receiver
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
- libiperf(3)
- https://software.es.net/iperf
Dokumentation
- Man-Page
Links
Projekt
Weblinks