Ping commando prompt voor meerdere tegelijk

Inleiding

Netwerkbeheerders en IT-professionals krijgen regelmatig de vraag of het mogelijk is om meerdere IP-adressen tegelijkertijd te pingen. Standaard kent het ping-commando in de Windows Command Prompt geen ingebouwde optie om meerdere doelen parallel te testen. Toch zijn er verschillende manieren om dit te realiseren, variërend van eenvoudige batchscripts tot moderne PowerShell-cmdlets en speciale tools van derden. In dit artikel bespreken we de meest effectieve methodes om meerdere hosts tegelijk te pingen, inclusief de voor- en nadelen van elke aanpak. Of u nu een thuisnetwerk beheert of een groot bedrijfsnetwerk, de technieken die hier worden uitgelegd helpen u snel inzicht te krijgen in de beschikbaarheid van apparaten.

Het pingen van meerdere IP’s tegelijk is niet alleen handig voor het bewaken van servers, routers of printers, maar ook voor het diagnosticeren van netwerkproblemen. Wanneer u bijvoorbeeld een range van 192.168.1.1 tot 192.168.1.254 wilt controleren, bespaart u veel tijd als u niet elk adres handmatig hoeft in te typen. In de volgende paragrafen leert u hoe u met simpele commando’s of scripts uw netwerk in kaart kunt brengen.

Waarom meerdere IPs tegelijk pingen?

Een netwerk bestaat vaak uit tientallen of honderden apparaten. Het handmatig pingen van elk adres is niet alleen tijdrovend, maar ook foutgevoelig. Door meerdere hosts tegelijk te pingen krijgt u in één oogopslag een overzicht van welke apparaten reageren. Dit is essentieel bij het opsporen van dode switches, niet-reagerende servers of configuratiefouten. Daarnaast gebruiken monitoringtools zoals Nagios of PRTG vaak ping-achtige methoden, maar voor een snelle handmatige controle is een command-line aanpak ideaal. De technieken die we behandelen variëren van eenvoudig tot geavanceerd, zodat u zelf de beste keuze kunt maken op basis van uw kennisniveau en de omvang van uw netwerk.

De klassieke manier: een for-loop in de command prompt

De meest eenvoudige manier om een reeks IP-adressen te pingen zonder aparte vensters te openen, is het gebruik van een for-loop in de Windows Command Prompt. Dit werkt zowel in CMD als in batchbestanden. Het onderstaande commando pingt de range 192.168.0.1 tot en met 192.168.0.254, elk met een enkele packet en een timeout van 20 milliseconden, en toont alleen de antwoorden:

Ping commando prompt voor meerdere tegelijk - 1
for /L %i in (1,1,254) do ping -n 1 -w 20 192.168.0.%i | find "Reply"

Deze opdracht is afkomstig van een veelgestelde vraag op SuperUser. Het voordeel is dat u geen extra software nodig hebt en het direct in elke Windows-versie werkt. De output toont alleen de IP’s die reageren, waardoor u snel een overzicht heeft van actieve hosts. U kunt de variabele %i vervangen door een andere reeks, bijvoorbeeld voor een klasse B-netwerk. Een nadeel is dat de pings sequentieel worden uitgevoerd: het commando wacht op elke antwoord voordat het naar het volgende IP gaat. Dit betekent dat het controleren van een volledige /24 subnet (254 adressen) relatief lang duurt, maar voor de meeste situaties is dat voldoende.

Wilt u het resultaat opslaan in een bestand? Voeg dan > resultaat.txt toe aan het einde van de regel. Zo kunt u later de output analyseren. Deze methode is ideaal voor thuisgebruikers en kleine netwerken die snel een scan willen uitvoeren.

Meerdere IPs in een enkel ping-commando

Sommige gebruikers proberen meerdere IP’s in een enkel ping-commando te plaatsen, bijvoorbeeld ping 8.8.8.8 1.1.1.1 8.8.4.4. Dit werkt in Windows, maar de adressen worden sequentieel gepingt, niet parallel. Het commando wacht tot het eerste adres is afgerond voordat het verder gaat met het volgende. Dit is dus geen simultane ping, maar het kan handig zijn als u slechts een paar hosts snel achter elkaar wilt testen zonder een script te schrijven. Microsoft Learn vermeldt deze functionaliteit in de documentatie van het ping-commando. Het grote nadeel is dat de totale tijd gelijk is aan de som van alle individuele ping-sessies, en dat u geen meldingen krijgt voor elke host apart; de resultaten worden onder elkaar weergegeven.

Voor praktisch gebruik is deze methode alleen aan te raden wanneer u maximaal drie of vier IP’s wilt controleren en u de volgorde van de resultaten niet belangrijk vindt. Als u tientallen of honderden adressen moet pingen, kies dan voor een for-loop of een PowerShell-oplossing.

Ping commando prompt voor meerdere tegelijk - 2

PowerShell: de moderne oplossing

Windows PowerShell biedt een veel krachtigere en flexibelere manier om meerdere IP’s tegelijk te pingen. De cmdlet Test-Connection is speciaal ontworpen om de functionaliteit van het klassieke ping-commando te vervangen, met extra mogelijkheden zoals parallelle uitvoering. Het volgende commando pingt drie openbare DNS-servers parallel en toont de resultaten:

Test-Connection -ComputerName 8.8.8.8, 1.1.1.1, 8.8.4.4 -Count 1

Doordat Test-Connection standaard meerdere computernamen tegelijk kan verwerken, worden de pings vrijwel gelijktijdig verstuurd. Dit levert een aanzienlijke tijdswinst op ten opzichte van de sequentiële methoden. U kunt ook een lijst met IP’s uit een tekstbestand lezen en deze doorgeven aan de cmdlet. Daarnaast kunt u parameters zoals -TimeoutSeconds of -BufferSize toevoegen om het gedrag aan te passen. Microsoft Docs biedt uitgebreide documentatie over de cmdlet. Voor wie regelmatig netwerkcontroles uitvoert, is Test-Connection de aanbevolen manier binnen Windows.

Een extra voordeel is dat u de output eenvoudig naar een CSV of een tabel kunt formatteren met cmdlets zoals Export-Csv of Format-Table. Zo kunt u de resultaten verder verwerken voor monitoring of rapportage.

PowerShell Jobs voor continu pingen

Wilt u meerdere IP’s continu pingen, bijvoorbeeld voor real-time monitoring, dan kunt u gebruikmaken van PowerShell Jobs. Met Start-Job start u een achtergrondtaak die een ping-sessie in een aparte thread uitvoert. Het volgende voorbeeld start een continue ping op een lijst van adressen:

Ping commando prompt voor meerdere tegelijk - 3
$ips = @("8.8.8.8","1.1.1.1","8.8.4.4")
foreach ($ip in $ips) {
    Start-Job -ScriptBlock {
        param($a)
        while($true) {
            ping -n 1 $a
            Start-Sleep -Seconds 5
        }
    } -ArgumentList $ip
}

Dit commando start voor elk IP een aparte job die elke 5 seconden een ping uitvoert. De jobs draaien parallel en u kunt de resultaten opvragen met Receive-Job. Deze aanpak is geïnspireerd op discussies op Reddit (r/PowerShell) en biedt veel flexibiliteit. Let op: te veel jobs kunnen uw systeembronnen belasten. Gebruik dit daarom alleen voor een beperkt aantal hosts (bijvoorbeeld maximaal tien). Voor grootschalige monitoring kunt u beter een tool zoals Zabbix of PRTG inzetten.

PowerShell Jobs zijn ideaal wanneer u tijdelijk de beschikbaarheid van een paar kritieke servers wilt volgen zonder een zware tool te installeren. U kunt de resultaten ook loggen in een bestand met Out-File.

Alternatieven: PingInfoView en andere tools

Voor gebruikers die liever een grafische interface gebruiken, zijn er speciale hulpprogramma’s zoals PingInfoView van NirSoft. Dit gratis programma kan een lijst met hostnamen of IP’s laden en deze allemaal tegelijk pingen. Het toont real-time resultaten in een tabel met responsetijden, verliespercentages en status. U kunt de lijst opslaan en later opnieuw laden. PingInfoView wordt veel gebruikt door IT-beheerders en is te downloaden van de NirSoft-website. Een groot voordeel is dat het geen installatie vereist; het werkt als een draagbaar uitvoerbaar bestand.

Andere tools zoals Angry IP Scanner of Advanced IP Scanner bieden vergelijkbare functionaliteit, maar met extra opties zoals poortscans. Voor wie alleen ping-functionaliteit nodig heeft, blijft PingInfoView een lichte en directe keuze. Ook zijn er scripts beschikbaar in Python of Bash die hetzelfde doen, maar die vallen buiten het bestek van de Windows Command Prompt. In de volgende tabel zetten we de belangrijkste methodes op een rij.

Ping commando prompt voor meerdere tegelijk - 4

Een overzichtelijke tabel met methodes

Methode Type Parallellisme Geschikt voor
CMD for-loop Sequentieel Nee Kleine netwerken, ad-hoc scannen
Ping met meerdere IP's Sequentieel Nee Enkele specifieke hosts
PowerShell Test-Connection Parallel Ja Middelgrote tot grote netwerken
PowerShell Jobs Parallel (echt) Ja Continue monitoring van enkele hosts
PingInfoView (NirSoft) Grafisch, parallel Ja Gebruikers die GUI verkiezen

Deze tabel geeft een snel overzicht. Kies de methode die het beste past bij uw technische ervaring en de schaal van uw netwerk.

Praktische voorbeelden en een lijst

Om u op weg te helpen, geven we hieronder een lijst met concrete commando’s voor de meest voorkomende scenario’s:

  • Alle apparaten in subnet 10.0.0.0/24 scannen met CMD:
    for /L %i in (1,1,254) do ping -n 1 -w 50 10.0.0.%i | find "TTL"
  • Drie specifieke servers testen met één PowerShell-commando:
    Test-Connection -ComputerName server1, server2, server3 -Count 2
  • Continue ping voor een IP met cmd: ping -t 192.168.1.1 (maar dit is voor één host)
  • Een lijst met IP’s uit een bestand pingen met PowerShell:
    Get-Content ips.txt | ForEach-Object { Test-Connection -ComputerName $_ -Count 1 }
  • PingInfoView gebruiken: download het programma, voeg IP's toe in het tekstvak, klik op Start.

Het is belangrijk om te weten dat de -t parameter van het klassieke ping-commando alleen werkt voor één enkele host. Wilt u meerdere hosts continu pingen, gebruik dan de PowerShell Jobs-methode of een grafische tool zoals PingInfoView. Voor de meeste netwerkbeheerders biedt Test-Connection de beste balans tussen eenvoud en functionaliteit.

Conclusie

Het pingen van meerdere IP-adressen tegelijk is in Windows op verschillende manieren mogelijk. Van de eenvoudige for-loop in de Command Prompt tot de parallelle kracht van PowerShell en speciale tools. De keuze hangt af van uw behoefte: wilt u snel een subnet scannen, continu een paar servers monitoren, of liever een visueel overzicht? Gebruik de informatie in dit artikel om de aanpak te kiezen die het beste werkt voor uw situatie. Probeer de commando’s zelf uit en ontdek hoe efficiënt u uw netwerk kunt monitoren.

Ping commando prompt voor meerdere tegelijk - 5

Referenties

De technieken in dit artikel zijn gebaseerd op informatie uit de volgende bronnen:

SuperUser – cmd.exe command to ping a range of addresses
https://superuser.com/questions/420714/...

NirSoft – PingInfoView
https://nirsoft.net/utils/pinginfoview.html

Microsoft Learn – ping command
https://learn.microsoft.com/.../ping

Microsoft Docs – Test-Connection
https://learn.microsoft.com/.../test-connection

Reddit r/PowerShell – How to do continuous ping to multiple IPs
https://reddit.com/.../17949iu/

Informatique Mania – Comment cingler plusieurs adresses IP en même temps (besproken in de context van PingInfoView)

ping cmd netwerk troubleshooting windows ip-adres
Let op Dit is algemene informatie. Controleer commando's altijd in jouw eigen omgeving.
Auteur

Stefano Barcellos

Medewerker bij Visite Barbados.

« Vorig bericht
NS Pro controle via kabel op pc uitleg

Gerelateerde berichten