Menu Fermer

iperf : tester la vitesse et bande passante entre deux hôtes

Pour mesurer la vitesse d’une connexion internet, on peut utiliser des services comme SpeedTest, ariase ou ZoneAdsl.
Mais comment vérifier la vitesse entre les deux serveurs à l’aide d’options de ligne de commande pour LAN / VLAN privé ?
Vous pouvez utiliser iperf qui fonctionne entre client et serveur et permet de tester la vitesse et bande passante entre deux hôtes.
Cet outil réseau fonctionne sur Linux, Windows, Android et iOS.

Les commandes iperf montrent des informations sur la bande passante, le retard, la gigue et la perte de datagramme. Il s’agit d’un outil pour effectuer des mesures de débit de réseau. Il peut tester le débit TCP ou UDP.
Pour effectuer un test iperf, l’utilisateur doit établir à la fois un serveur (pour éliminer le trafic) et un client (pour générer du trafic).

Ce tutoriel vous explique comment tester la vitesse / débit du réseau entre deux hôtes.

iperf : tester la vitesse et bande passante entre deux hôtes

Qu’est-ce que iperf et iperf3 ?

Perf est un outil de ligne de commande qui vous permet de tester la bande passante, comme vous le souhaitez.
Vous configurez un serveur en écoute et faites connecter un client à ce dernier.
L’outil se charge ensuite d’afficher les informations de débits, de vitesse et de bande passante.

L’avantage de l’exécution de votre propre serveur est la prévisibilité. Vous savez où se trouve le serveur et vous pouvez répéter le test à l’avenir. Ce n’est pas le cas avec les services en ligne, où ils vous attribuent un serveur dynamiquement. Cela signifie que vous ne pourrez pas reproduire le même test à l’avenir si vous effectuez un test de vitesse en ligne. Depuis que vous placez le serveur quand vous le souhaitez, vous pouvez également l’avoir sur votre réseau interne et donc tester les liens internes.

L’outil existe en deux versions.
La version 3 est plus récente et propose des options supplémentaires comme la congestion, la sort JSON, etc.
De plus le port utilisé par défaut est différent :

  • iperf qui écoute sur le port 5901
  • iperf3 qui écoute sur le port 5201

Sinon l’utilisation des commandes et le principe sont totalement identiques.

Pour tester simplement votre connexion internet, vous pouvez aussi utiliser un de ces outils :

Comment installer iperf

Sur Debian, Ubuntu


Sur Debian ou Ubuntu, utilisez APT pour installer iperf.

sudo apt install iperf3

Sur Fedora

Du côté de Fedora, vous pouvez utiliser dnf pour installer l’utilitaire réseau :

sudo dnf install iperf3

Sur Windows

Pour Windows, vous pouvez télécharger : https://iperf.fr/iperf-download.php
Il se présente sous la forme d’un fichier ZIP.
Décompressez dans l’emplacement de votre choix, par exemple avec 7-zip.

Utilisez ensuite l’invite de commandes pour exécuter les commandes iperf : Comment ouvrir une invite de commandes sur Windows 10

iperf : tester la vitesse et bande passante entre deux hôtes

  • Ensuite sur la machine qui a fait office de serveur, utilisez la commande suivante :
iperf3 -s
  • Un socket en écoute s’ouvre sur le port 5201
  • Côté client, utilisez la connexion suivante :
iperf3.exe -c <Adresse IP du serveur iperf>

Côté client, le test de la vitesse de débit :

Connecting to host 3XXX, port 5201
[  4] local 10.0.0.12 port 51163 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec  2.25 MBytes  18.8 Mbits/sec
[  4]   1.01-2.01   sec  2.50 MBytes  20.9 Mbits/sec
[  4]   2.01-3.00   sec  1.38 MBytes  11.6 Mbits/sec
[  4]   3.00-4.00   sec  1.88 MBytes  15.8 Mbits/sec
[  4]   4.00-5.01   sec  2.25 MBytes  18.7 Mbits/sec
[  4]   5.01-6.01   sec  1.75 MBytes  14.8 Mbits/sec
[  4]   6.01-7.02   sec  1.50 MBytes  12.5 Mbits/sec
[  4]   7.02-8.01   sec  1.88 MBytes  15.9 Mbits/sec
[  4]   8.01-9.01   sec  2.25 MBytes  18.9 Mbits/sec
[  4]   9.01-10.01  sec  2.00 MBytes  16.8 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.01  sec  19.6 MBytes  16.5 Mbits/sec                  sender
[  4]   0.00-10.01  sec  19.6 MBytes  16.4 Mbits/sec                  receiver

iperf Done.
iperf : tester la vitesse et bande passante entre deux hôtes

Côté serveur, on trouve la connexion provenant du client :

Accepted connection from XXXX, port 51162
[  5] local XXXX port 5201 connected to XX port 38703
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.97 MBytes  16.5 Mbits/sec
[  5]   1.00-2.00   sec  2.51 MBytes  21.1 Mbits/sec
[  5]   2.00-3.00   sec  1.49 MBytes  12.5 Mbits/sec
[  5]   3.00-4.00   sec  1.87 MBytes  15.7 Mbits/sec
[  5]   4.00-5.00   sec  2.19 MBytes  18.3 Mbits/sec
[  5]   5.00-6.00   sec  1.74 MBytes  14.6 Mbits/sec
[  5]   6.00-7.00   sec  1.52 MBytes  12.8 Mbits/sec
[  5]   7.00-8.00   sec  1.88 MBytes  15.7 Mbits/sec
[  5]   8.00-9.00   sec  2.18 MBytes  18.3 Mbits/sec
[  5]   9.00-10.00  sec  2.13 MBytes  17.8 Mbits/sec
[  5]  10.00-10.06  sec   118 KBytes  15.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.06  sec  19.6 MBytes  16.3 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
iperf : tester la vitesse et bande passante entre deux hôtes

La sortie standard est un tableau avec quatre colonnes. De plus, les deux dernières lignes de la table (après la ligne de tableau de bord) représentent les totaux.
Voici le détails des colonnes :

  • ID est l’ID de l’opération IPERF
  • Interval est la durée du temps auquel la ligne fait référence
  • Transfert est la quantité de données échangées entre le client et le serveur. En fin de compte, le test de vitesse consiste à transférer des fichiers et à mesurer la durée de la durée.
  • Bitrate : La bande passante est la bande passante mesurée

Les autres utilisations de la commande iperf

La commande iperf offre énormément d’options.
Par exemple, il est possible de faire un test en UDP, pour cela ajoutez l’option -u :

iperf -c XXX.XXX.XXX.XXX -u

L’option -s vous permet de spécificier le port. Ainsi, il est tout à fait possible de faire tourner le serveur iperf sur le port 80 ou 443.
Pour cela, côté serveur :

iperf3 -s -p 80

et côté client :

iperf3.exe -c <Adresse IP du serveur iperf> -s 80

Pour augmenter le délai du test (par défaut 10s), utilisez l’option -t :

iperf -c 192.168.10.10 -t 30

Voici les principales options :

  • -P crée n connexions parallèles, utiles pour pousser les liens vers leur limite
  • -R s’exécute en mode inverse: le serveur enverra et le client recevra
  • -B Indiquez une bande passante limite (par exemple 10K, 5 Mo, 1 Go). Le test n’ira pas beaucoup au-delà de cette valeur, même si le lien a une capacité plus élevée
  • -J génère la sortie en JSON une fois l’opération terminée, utile si vous souhaitez utiliser iperf dans les scripts
iperf -h

Enfin si vous cherchez des alternatives à iperf, il existe bwctl et nuttcp.