Windows : comment effectuer un test de débit Internet en ligne de commande ?
Sommaire
I. Présentation
Sur une machine Windows, vous pouvez utiliser le client CLI du service Speedtest d'Ookla pour effectuer un test de débit Internet en ligne de commande. Dans ce tutoriel, nous allons découvrir comment l'utiliser.
Cette méthode est particulièrement utile pour ceux qui souhaitent utiliser un script ou qui veulent automatiser la vérification de la qualité de leur connexion Internet sans passer par l'interface web du service Speedtest. De plus, nous verrons que le résultat est interprétable avec PowerShell, ce qui ouvre la porte à d'autres usages tels que la remontée de l'information dans un système de supervision.
Voici d'autres articles qui pourraient vous intéresser :
- Effectuer un test de bande passante sur un réseau local avec iperf
- Surveillez votre connexion Internet avec Speedtest Tracker
II. Installation du client CLI de Speedtest
Pour commencer, nous devons installer le client CLI de Speedtest d'Ookla sur la machine Windows.
Pour installer le client, commencer par télécharger l'exécutable. Accédez au site officiel d'Ookla (https://www.speedtest.net/apps/cli) et téléchargez l'exécutable pour Windows.
Ensuite, décompressez l'archive ZIP afin d'obtenir un fichier nommé "speedtest.exe". C'est lui que nous allons exécuter via la ligne de commande, car l'outil ne nécessite pas d'installation. Nous pouvons considérer qu'il s'agit d'un outil portable.
Voyons comment l'utiliser pour tester la vitesse de la connexion Internet.
III. Tester le débit Internet avec Speedtest CLI
Avec le client CLI de Speedtest en place sur notre machine Windows, nous pouvons exécuter un test de débit. Ceci permettra de mesurer la latence (via le ping), la vitesse de téléchargement (download) et la vitesse d'envoi (upload).
Il est à noter que "speedtest.exe" peut être exécuté via l'Invite de commande (cmd) et PowerShell. Nous allons préférer l'usage de la console PowerShell pour la suite de cet article.
Ouvrez la console PowerShell et exécutez simplement cette commande :
.\speedtest.exe
La première fois que l'outil est lancé, vous devez accepter la licence d'utilisation. Saisissez "YES" et appuyez sur la touche Entrée du clavier. Ensuite, patientez pendant l'exécution du test de débit Internet.
Remarque : vous pouvez forcer l'activation de la licence à partir de la ligne de commande via l'ajout du paramètre "--accept-license".
Le test de débit retourne donc 3 informations principales, au même titre que lors de l'utilisation de l'interface web du service Speedtest d'Ookla :
- Ping : le temps de réponse en millisecondes, qui indique la latence de votre connexion.
- Download : la vitesse de téléchargement mesurée en Mbps.
- Upload : la vitesse d'envoi mesurée en Mbps.
Par défaut, Speedtest sélectionne lui-même le serveur distant sur lequel effectué le test. Vous pouvez choisir le serveur de votre choix. Commencez par lister les serveurs disponibles :
.\speedtest.exe -L
Puis, exécutez un test de débit en spécifiant le serveur via son ID (première colonne dans le résultat de la commande précédente) :
.\speedtest.exe -s <ID>
.\speedtest.exe -s 52534
IV. Exploiter le résultat de Speedtest avec PowerShell
Le client CLI de Speedtest présente l'avantage de pouvoir retourner un résultat formaté en JSON. PowerShell étant capable d'interpréter un objet au format JSON, ceci nous permet de le parser facilement et d'exploiter les informations du test de débit.
Pour demander à Speedtest de nous retourner un résultat au format JSON, nous devons utiliser cette syntaxe :
.\speedtest.exe --format=json
Ainsi, nous pouvons coupler l'utilisation de Speedtest avec PowerShell pour personnaliser la sortie.
& "C:\temp\speedtest.exe" --accept-license --format=json | ConvertFrom-Json | Select-Object @{
label='Download'
expression={([math]::round($_.download.bandwidth/1MB, 4)*8).ToString('F2')}
}, @{
label='Upload'
expression={([math]::round($_.upload.bandwidth/1MB, 4)*8).ToString('F2')}
}
Nous devons créer des propriétés calculées (ou passer par un objet personnalisé) afin de convertir les valeurs pour le Download et l'Upload. Vous pouvez aussi ajouter d'autres informations à la sortie de la commande, selon vos besoins. Dans ce cas, stockez le résultat JSON dans une variable pour l'explorer plus facilement.
V. Conclusion
Nous avons vu comment installer et utiliser le client CLI de Speedtest sur Windows pour effectuer un test de débit de la connexion Internet. Vous pouvez utiliser l'outil simplement en l'exécutant sans option, ou décider d'aller plus loin en le couplant à PowerShell. Comme nous l'avons vu, cela ouvre diverses possibilités… Enfin, n'effectuez pas des tests de débit trop fréquent pour ne pas surcharger le service Speedtest (et vous faire bannir).