Commande cmd pour pinguer plusieurs IP en même temps

Introduction : pourquoi pinguer plusieurs adresses IP simultanément

Dans le domaine de l’administration réseau, il est fréquent de devoir vérifier la disponibilité de plusieurs machines en même temps. Que ce soit pour diagnostiquer une panne, surveiller un parc informatique ou tester une nouvelle infrastructure, la commande ping est l’outil de base incontournable. Sous Windows, le Command Prompt (cmd) ne permet pas nativement de passer plusieurs adresses IP en un seul appel de la commande ping. Pourtant, il existe des astuces simples et puissantes pour pinguer plusieurs hôtes simultanément sans avoir à ouvrir autant de fenêtres que de cibles. Cet article vous explique en détail les différentes méthodes, du célèbre boucle FOR aux alternatives plus modernes comme PowerShell et fping. Vous découvrirez comment automatiser ces tests, filtrer les résultats et gagner un temps précieux dans votre travail quotidien.

La boucle FOR dans le Command Prompt : la méthode de base

La solution la plus répandue pour pinguer une plage d’adresses IP avec cmd repose sur la boucle FOR. Cette commande permet d’exécuter une instruction pour chaque valeur d’un intervalle. Par exemple, pour tester toutes les adresses de 192.168.0.1 à 192.168.0.254, vous pouvez utiliser la syntaxe suivante :

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i

Dans cette ligne, /L indique qu’il s’agit d’une boucle avec un compteur. %i est la variable qui prend successivement les valeurs de 1 à 254 avec un pas de 1. L’option -n 1 limite à un seul envoi de paquet par adresse, ce qui rend l’opération plus rapide. Cette commande s’exécute de manière séquentielle : chaque ping attend la réponse ou le timeout avant de passer au suivant. Cela peut prendre un certain temps si la plage est large, mais cela reste fiable pour un diagnostic rapide. Notez que si vous intégrez cette boucle dans un fichier batch, vous devez doubler le signe pour obtenir %%i.

Optimiser les résultats avec la commande FIND

Le problème de la boucle simple est qu’elle affiche toutes les réponses, y compris les échecs (Destination unreachable, Request timed out). Pour rendre le résultat lisible, on combine le ping avec l’outil FIND. L’idée est de ne conserver que les lignes contenant le mot Reply (Réponse) :

Commande cmd pour pinguer plusieurs IP en même temps - 1

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply"

L’option /i de FIND ignore la casse, ce qui est utile car la sortie de ping est en français dans certains systèmes ("Réponse") ou en anglais ("Reply"). Vous pouvez également rediriger le résultat vers un fichier texte pour l’analyser plus tard :

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND "Reply" >> resultats.txt

Cette astuce est mentionnée sur SuperUser (Stack Exchange) comme une solution efficace pour les administrateurs Windows. Elle permet d’obtenir une liste claire des machines actives sur le réseau en quelques secondes.

Lancer plusieurs pings en parallèle dans cmd

La boucle FOR présentée ci-dessus est séquentielle : chaque ping attend la fin du précédent. Pour gagner du temps, surtout sur un grand nombre d’adresses, on peut lancer plusieurs processus en parallèle en utilisant la commande START. Cette commande ouvre une nouvelle fenêtre ou exécute un programme en arrière-plan. Voici un exemple :

Commande cmd pour pinguer plusieurs IP en même temps - 2

FOR /L %i IN (1,1,10) DO START /B ping -n 1 192.168.0.%i | FIND "Reply"

L’option /B de START lance le processus sans créer une nouvelle fenêtre, ce qui évite de polluer votre écran. Attention : les résultats seront mélangés sur la console, car plusieurs processus écrivent en même temps. Pour y remédier, il est préférable de rediriger chaque sortie vers un fichier unique avec un nom différent :

FOR /L %i IN (1,1,10) DO START /B ping -n 1 192.168.0.%i > resultat_%i.txt

Ensuite, vous pouvez fusionner les fichiers avec COPY ou type. Cette approche réduit le temps total d’exécution de manière significative, surtout sur des réseaux où pinguer une adresse prend plusieurs secondes.

Méthodes alternatives : fping pour Linux et Windows

Sur les systèmes Linux et Unix, l’outil fping a été développé spécifiquement pour envoyer des requêtes ping à plusieurs hôtes simultanément. Contrairement à la boucle FOR, fping envoie les paquets en parallèle et collecte les réponses en temps réel, ce qui est beaucoup plus rapide. Par exemple, la commande :

Commande cmd pour pinguer plusieurs IP en même temps - 3

fping -g 192.168.0.1/24

pingue toute la plage 192.168.0.1 à 192.168.0.254 en quelques secondes. Il existe une version Windows de fping, téléchargeable gratuitement, qui offre la même fonctionnalité dans cmd. L’outil permet également de lister les hôtes répondants et non répondants avec un format compact. Le blog de Wel. R. Braga documente bien l’utilisation de fping pour les administrateurs réseau. Si vous travaillez sur des infrastructures mixtes, fping devient un atout précieux.

PowerShell : une solution moderne pour les administrateurs Windows

PowerShell, l’environnement de script moderne de Microsoft, offre des capacités bien supérieures au vieux cmd pour le ping multiple. La commande Test-Connection intègre nativement le paramètre -Count pour limiter le nombre de paquets, mais elle ne permet pas de passer une plage d’adresses directement. En revanche, on peut utiliser des loops ou des jobs pour lancer des pings en parallèle. La méthode la plus performante est d’utiliser Start-Job pour chaque adresse. Par exemple :

Start-Job -ScriptBlock { While($true) { Get-Date ; ping -n 1 192.168.0.1 | Out-File -Append C:\log.txt ; Start-Sleep -Seconds 2 } }

Ce script envoie un ping continu vers l’adresse 192.168.0.1 toutes les deux secondes, en écrivant les résultats dans un fichier log. Vous pouvez lancer ce job pour plusieurs adresses en un seul bloc, ce qui permet une surveillance simultanée. La communauté PowerShell sur Reddit partage régulièrement des scripts avancés pour gérer des dizaines de pings concurrents. L’avantage de PowerShell est aussi sa gestion des objets, ce qui facilite l’analyse des résultats.

Commande cmd pour pinguer plusieurs IP en même temps - 4

Tableau comparatif des méthodes

Le tableau suivant résume les principales approches pour pinguer plusieurs IP en même temps, avec leurs caractéristiques et cas d’usage.

Méthode Concurrence Simplicité Plateforme Usage recommandé
Boucle FOR simple Séquentiel Très simple Windows cmd Petite plage (moins de 50 IP)
Boucle FOR + FIND Séquentiel Simple Windows cmd Diagnostic rapide avec filtrage
START /B dans boucle Parallèle Moyen Windows cmd Grande plage, besoin de rapidité
fping Parallèle Simple (outil dédié) Linux, Windows Test de sous-réseau entier
PowerShell Jobs Parallèle Avancé Windows Surveillance continue, automatisation

Liste des étapes pour un test réseau efficace

Voici une procédure simple à suivre pour tester la disponibilité de vos machines avec cmd :

  1. Ouvrez le Command Prompt en tant qu’administrateur pour éviter les restrictions de droits.
  2. Identifiez la plage d’adresses IP que vous souhaitez tester (par exemple 192.168.1.1 à 192.168.1.100).
  3. Utilisez la boucle FOR avec redirection vers un fichier : FOR /L %i IN (1,1,100) DO ping -n 1 192.168.1.%i >> ping_test.txt
  4. Ouvrez le fichier ping_test.txt avec le Bloc-notes ou un éditeur avancé.
  5. Recherchez les lignes contenant Reply à l’aide de Ctrl+F pour isoler les machines actives.
  6. Si le temps est un facteur critique, remplacez la boucle simple par START /B pour du parallélisme.
  7. Pour un usage régulier, créez un fichier batch (.bat) avec la commande adaptée et enregistrez-le sur votre bureau.

Cette méthode fonctionne sur toutes les versions de Windows depuis Windows 7. Elle ne nécessite aucun outil tiers, ce qui est pratique dans un environnement verrouillé où l’installation de logiciels est limitée.

Limitations et précautions

La boucle FOR dans cmd présente quelques inconvénients. D’abord, elle est séquentielle, ce qui peut être lent pour plus de 100 adresses. Ensuite, l’option -n 1 ne garantit pas une détection fiable des hôtes lents, car un seul paquet peut être perdu. Il est préférable d’utiliser -n 2 ou -n 3 pour les réseaux instables. Par ailleurs, si vous utilisez START /B, vous risquez de saturer votre CPU si vous lancez plusieurs dizaines de pings en même temps. Enfin, le filtrage avec FIND fonctionne correctement uniquement si le système est en anglais ou en français. Sur des systèmes localisés dans d’autres langues, le mot clé peut être différent. Testez d’abord sur une petite plage pour vérifier la sortie.

Exemples concrets d’utilisation

Imaginons que vous gérez le réseau d’une petite entreprise avec 30 postes fixes. Vous devez vérifier rapidement quels ordinateurs sont allumés. Ouvrez cmd et tapez :

Commande cmd pour pinguer plusieurs IP en même temps - 5

FOR /L %i IN (1,1,30) DO ping -n 1 10.0.0.%i | FIND /i "Reply"

En quelques secondes, vous voyez les adresses qui répondent. Si vous souhaitez enregistrer le résultat pour votre rapport, ajoutez >> etat_30.txt à la fin de la commande. Un autre scénario : vous devez surveiller un serveur web et une base de données en continu. Avec PowerShell, créez deux jobs distincts :

Start-Job -ScriptBlock { while($true) { if (Test-Connection 10.0.0.5 -Count 1 -Quiet) { "OK serveur web" } else { "KO serveur web" } ; Start-Sleep 10 } }

Cette approche vous libère les mains pendant que les jobs tournent en arrière-plan.

Conclusion

Pinguer plusieurs adresses IP en même temps depuis le Command Prompt est une compétence fondamentale pour tout administrateur réseau. La boucle FOR reste la solution la plus accessible, surtout lorsqu’elle est associée à FIND pour filtrer les résultats. Pour des besoins plus avancés, le lancement parallèle avec START /B, l’outil fping ou les jobs PowerShell offrent des performances et une flexibilité accrues. Chaque méthode a ses avantages et ses limites, mais toutes vous font gagner un temps précieux par rapport à un ping manuel répétitif. N’hésitez pas à automatiser ces commandes dans des fichiers batch pour les réutiliser régulièrement. La pratique et l’adaptation à votre contexte réseau vous permettront d’optimiser votre diagnostic et votre maintenance.

Références

Les informations présentées dans cet article s’appuient sur des sources techniques reconnues et des expériences pratiques. Voici les principales références utilisées :

Microsoft Learn, documentation officielle de la commande ping, disponible sur https://learn.microsoft.com/pt-br/windows-server/administration/windows-commands/ping. Cette page détaille les paramètres et le comportement de ping sous Windows Server et Windows 10.

SuperUser (Stack Exchange), discussion sur le ping multiple avec FOR et FIND, accessible sur https://qastack.com.br/superuser/45687/how-can-i-ping-a-range-of-ip-addresses-simultaneously-closed. Ce fil de discussion propose des astuces validées par la communauté.

Blog de Wel. R. Braga, article sur fping et ses utilisations, consulté sur https://blog.welrbraga.eti.br/fping-um-ping-para-multiplos-hosts/. Ce blog offre une introduction claire à fping pour les administrateurs.

Reddit r/PowerShell, discussion sur les jobs pour ping simultané, disponible sur https://www.reddit.com/r/PowerShell/comments/17949iu/how_to_do_continuous_ping_to_multiple_ips_and/. Les commentaires de la communauté fournissent des exemples concrets de scripts.

cmd ping réseau windows ip diagnostic
Avertissement Les commandes présentées sont à titre informatif et peuvent nécessiter des droits adaptés selon la configuration du réseau.
Auteur

Stefano Barcellos

Contributeur sur Visite Barbados.

« Article précédent
Comment installer un clavier sur PC facilement

Articles connexes