Linux : comment tester son débit Internet en ligne de commande ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment tester son débit Internet en ligne de commande sur une machine Linux avec les outils Speedtest et Speedtest-cli.
Lorsqu'il s'agit de tester son débit Internet, que ce soit le débit descendant (download), le débit montant (upload) ou encore la latence, on a tous l'habitude d'utiliser un site en ligne. D'ailleurs, on peut en lister quelques-uns sans trop réfléchir : Speedtest, nPerf et Fast.
C'est facile sur Windows, car on a une interface graphique (dans une très grande majorité des cas) donc il suffit de dégainer un navigateur, d'accéder au site et le tour est joué. Sous Linux par contre, s'il n'y a pas d'interface graphique, on se retrouve coincé ! Comment faire ? Nous allons voir qu'il existe plusieurs outils, avec plus ou moins d'options, pour tester sa connexion Internet en ligne de commande !
Pour la suite de ce tutoriel, je vais utiliser une machine sous Debian 11, mais les outils sont multiplateformes (se référer aux liens).
II. Speedtest CLI sous Linux
Le site Speedtest.net propulsé par Ookla dispose d'une version accessible en ligne de commande nommée "Speedtest CLI". Compatible avec macOS, Windows (exécutable à télécharger) et plusieurs distributions Linux (Debian, Ubuntu, CentOS, Red Hat, Fedora, FreeBSD). Son installation est expliquée sur le site officiel de Speedtest : Speedtest CLI.
Sur Debian, il suffit d'exécuter ces commandes (cela nécessite d'avoir curl sur la machine) :
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash sudo apt-get install speedtest
Ensuite, pour réaliser un test de débit, il suffit d'exécuter la commande suivante :
speedtest
Lors de la première exécution, il faudra accepter les différentes licences d'utilisation. Ensuite, ce ne sera plus nécessaire. Le test de débit va s'exécuter et vous allez obtenir 4 informations :
- Latence via le champ "Latency"
- Débit descendant via le champ "Download"
- Débit montant via le champ "Upload"
- Pourcentage de paquets perdus via le champ "Packet Loss"
Voici un exemple :
En regardant l'aide de l'outil Speedtest, on peut voir qu'il y a quelques options à notre disposition :
Vous pouvez obtenir la liste des serveurs Speedtest disponibles :
speedtest -L
Repérez l'ID du serveur que vous souhaitez utiliser et spécifiez cet ID au moment de relancer le test de débit :
speedtest -s 12746
Lorsque l'on effectue un test sans préciser de serveur, on ne sait pas trop quel serveur va être utilisé. En fait, c'est le serveur avec la latence la plus faible à l'instant t qui sera utilisé. Pour en savoir un peu plus sur le processus de sélection du serveur, il faut ajouter l'option "--selection-details" et on peut voir que le serveur avec la plus faible latence sera utilisé :
speedtest --selection-details
Nous venons de voir l'outil officiel du site Speedtest. Désormais, nous allons voir un second outil qui permet d'avoir quelques options supplémentaires.
III. Speedtest-cli : l'alternative avec plus d'options
L'outil Speedtest-CLI s'appuie toujours sur le site Speedtest, mais à la différence de l'outil officiel que nous venons de voir, il intègre des options pour effectuer seulement un test de download ou d'upload, par exemple. Voici le lien vers ce projet : Speedtest-CLI
Il est écrit en Python, donc vous devez installer Python sur votre machine avant toute chose :
sudo apt-get update sudo apt-get install python
Ensuite, on peut télécharger Speedtest-cli à partir de GitHub via wget :
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
Nous devons ajouter les droits d'exécution au fichier "speedtest-cli" que l'on vient de télécharger :
chmod +x speedtest-cli
A partir de là, on peut exécuter l'outil et consulter son aide afin de visualiser toutes les options disponibles :
./speedtest-cli -h
Par exemple, pour tester uniquement le débit descendant (download), on utilisera la commande suivante :
./speedtest-cli --no-upload
Il est également possible de choisir le serveur distant que vous souhaitez utiliser pour ce test de débit. Il faut commencer par lister les serveurs disponibles (sur le même principe que "-L" de l'outil précédent) :
./speedtest-cli --list
Ensuite, on repère l'ID du serveur que l'on veut utiliser en regardant la première valeur au début de chaque ligne. Voici un exemple pour s'appuyer sur le serveur SFR avec l'ID "12746".
./speedtest-cli --server 12746
En complément, le mode CSV peut-être assez cool pour obtenir des données formatées :
./speedtest-cli --csv
Tout en sachant que les en-têtes sont :
Server ID,Sponsor,Server Name,Timestamp,Distance,Ping,Download,Upload,Share,IP Address
Comme promis, speedtest-cli est un outil qui propose quelques options pour affiner la requête même si l'outil officiel est déjà très complet. Personnellement, je préfère utiliser l'outil officiel, mais il est intéressant de connaître l'existence de cette alternative.
Connaissez-vous d'autres alternatives en ligne de commande ?
j’ai fait ce qui est indiqué sur ubuntu 18.04 maintenant impossible de faire des mise a jouer impossible de trouver le dépot a supprimer
magnifique