ping-commando: ping-opties in Linux en 100% packet loss controleren
Of pakketten vanaf een Linux-server een andere server bereiken en hoe lang de heen-en-terugreis duurt, controleer je met het ping-commando. Bij het pingen van example.com vanaf AlmaLinux 9- en Debian 12-servers met een aantal ingesteld met -c lag de round-trip-tijd op 1–3 ms, en een server die ICMP blokkeert gaf bij ping 100% packet loss, terwijl hij wel op webverzoeken antwoordde.
De uitvoer hieronder komt van een AlmaLinux 9.8-server (root-account) en een Debian 12-server (gewoon account). Elke ping is uitgevoerd met een aantal pakketten ingesteld met -c. Privé-IP-adressen van tussenliggende routers zijn vervangen door voorbeeldwaarden, en adressen die uit publieke domeinen zoals example.com zijn opgezocht, zijn ongewijzigd gelaten.
1️⃣ Het ping-commando gebruiken
ping stuurt een ICMP-echoverzoek naar de andere server en toont per regel hoe lang het duurde voordat het echo-antwoord terugkwam. Zonder aantal via -c blijft ping in Linux sturen tot je het met Ctrl+C stopt (volgens de officiële handleiding), dus start je het meteen met een aantal, zoals -c 4.
ping -c 4 example.comPING example.com (172.66.147.243) 56(84) bytes of data.
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=1 ttl=58 time=1.46 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=2 ttl=58 time=1.30 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=3 ttl=58 time=1.28 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=4 ttl=58 time=1.30 ms
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.279/1.336/1.464/0.074 msVier pakketten van de Debian 12-server naar example.com kregen alle vier antwoord, met round-trip-tijden van 1,28–1,46 ms. Wat elke regel laat zien, staat hieronder.
| Uitvoer | Wat het toont |
|---|---|
| PING example.com (172.66.147.243) 56(84) bytes of data. | Het adres dat bij de naam hoort en de verzonden grootte — 56 bytes data plus een IP-header van 20 bytes en een ICMP-header van 8 bytes maken 84 bytes |
| 64 bytes from … | Grootte van het teruggekomen antwoord (56 bytes data + ICMP-header van 8 bytes) |
| icmp_seq=1 | Volgnummer van het verzonden pakket |
| ttl=58 | TTL die nog in het antwoordpakket staat — daalt met 1 bij elke router die het passeert |
| time=1.46 ms | Round-trip-tijd van dat pakket |
| 4 packets transmitted, 4 received, 0% packet loss | Verzonden pakketten, ontvangen pakketten en het deel zonder antwoord |
| time 3003ms | Tijd vanaf het eerste verzonden pakket tot het einde |
| rtt min/avg/max/mdev | Minimum, gemiddelde en maximum van de round-trip-tijd en de spreiding (mdev) |
mdev geeft aan hoe ver de round-trip-tijden van het gemiddelde afwijken, en volgens de officiële handleiding betekent een grotere waarde minder gelijkmatige round-trip-tijden. In dit resultaat, waarin alle vier antwoorden onder 1,5 ms bleven, was mdev 0,074 ms.
Hetzelfde commando op de AlmaLinux 9-server stuurde naar het IPv6-adres van example.com, en in de eerste regel stond alleen 56 data bytes, zonder de 84.
ping -c 4 example.comPING example.com(2606:4700:10::ac42:93f3 (2606:4700:10::ac42:93f3)) 56 data bytes
64 bytes from 2606:4700:10::ac42:93f3 (2606:4700:10::ac42:93f3): icmp_seq=1 ttl=51 time=2.20 ms
64 bytes from 2606:4700:10::ac42:93f3 (2606:4700:10::ac42:93f3): icmp_seq=2 ttl=54 time=2.30 ms
64 bytes from 2606:4700:10::ac42:93f3 (2606:4700:10::ac42:93f3): icmp_seq=3 ttl=51 time=2.55 ms
64 bytes from 2606:4700:10::ac42:93f3 (2606:4700:10::ac42:93f3): icmp_seq=4 ttl=54 time=2.26 ms
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.203/2.326/2.547/0.131 msDe geïnstalleerde ping-versie controleer je met -V. De Debian 12-server had iputils 20221126 en de AlmaLinux 9-server iputils 20210202.
ping -Vping from iputils 20221126
libcap: yes, IDN: yes, NLS: no, error.h: yes, getrandom(): yes, __fpending(): yesping -Vping from iputils 202102022️⃣ ping-opties voor aantal en interval
Van de ping-opties is -c het aantal pakketten en -i de tussentijd (seconden). Standaard is dat 1 seconde, en met -i 0.5 daalde de tijd voor vier pakketten van 3003 ms naar 1502 ms.
ping -c 4 -i 0.5 example.comPING example.com (172.66.147.243) 56(84) bytes of data.
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=1 ttl=58 time=1.26 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=2 ttl=58 time=1.31 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=3 ttl=58 time=1.37 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=4 ttl=58 time=1.44 ms
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 1502ms
rtt min/avg/max/mdev = 1.264/1.343/1.436/0.065 msVolgens de handleiding van iputils 20210202 op de AlmaLinux 9-server mag alleen root een interval korter dan 0,2 seconde instellen, terwijl de handleiding van iputils 20221126 op de Debian 12-server die grens op 2 ms legt. Korte intervallen kunnen de andere server en het netwerk belasten.
-w is de tijd (seconden) waarna ping helemaal stopt, ongeacht hoeveel pakketten er zijn verzonden. Samen met -c stopt ping zodra het ingestelde aantal antwoorden binnen is of de -w-tijd voorbij is. Met -c 10 -w 3 werden maar drie pakketten verzonden en stopte ping na 3 seconden.
ping -c 10 -w 3 example.comPING example.com (172.66.147.243) 56(84) bytes of data.
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=1 ttl=58 time=1.34 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=2 ttl=58 time=1.27 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=3 ttl=58 time=1.34 ms
--- example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.272/1.318/1.342/0.032 msAlle drie kregen antwoord, maar omdat de ingestelde 10 niet werden gehaald, was de exitcode van ping 1. Ook de officiële handleiding legt uit dat ping met -c en -w samen eindigt met 1 als het ingestelde aantal antwoorden niet binnenkomt.
-W is de tijd (seconden) dat ping op één antwoord wacht. Volgens de officiële handleiding geldt deze waarde alleen als er helemaal geen antwoord komt; bij een doel dat wel antwoordt, wacht ping twee keer de round-trip-tijd.
Wil je alleen de samenvatting zien zonder resultaatregels, voeg dan -q toe. Na vier pakketten bleven alleen de eerste regel en de statistiek aan het einde over.
ping -c 4 -q example.comPING example.com (104.20.23.154) 56(84) bytes of data.
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.551/1.649/1.715/0.060 ms3️⃣ ping-opties voor pakketgrootte en IPv6
De grootte van de verzonden data wijzig je met -s. Met -s 1000 werd de eerste regel 1000(1028) bytes en werden de antwoordregels 1008 bytes.
ping -c 2 -s 1000 example.comPING example.com (172.66.147.243) 1000(1028) bytes of data.
1008 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=1 ttl=58 time=1.21 ms
1008 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=2 ttl=58 time=1.31 ms
--- example.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.214/1.262/1.311/0.048 ms1028 is 1000 bytes data plus een IP-header van 20 bytes en een ICMP-header van 8 bytes, en 1008 is de data plus alleen de ICMP-header. De round-trip-tijd lag op 1,21–1,31 ms, nauwelijks anders dan met de standaardgrootte (56 bytes).
-t stelt de TTL van de verzonden pakketten in. De TTL daalt met 1 bij elke router, en bij 0 gooit die router het pakket weg en stuurt [Time to live exceeded] terug.
ping -c 2 -t 3 example.comPING example.com (172.66.147.243) 56(84) bytes of data.
From 192.0.2.103 (192.0.2.103) icmp_seq=1 Time to live exceeded
From 192.0.2.103 (192.0.2.103) icmp_seq=2 Time to live exceeded
--- example.com ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1001msMet de TTL op 3 stuurde de derde router beide keren [Time to live exceeded] terug. Door de TTL vanaf 1 stap voor stap te verhogen, kwam het eerste antwoord van example.com bij 8.
-4 en -6 beperken het adrestype tot IPv4 of IPv6. De AlmaLinux 9-server stuurde ook zonder optie naar het IPv6-adres van example.com, dus voor het IPv4-adres werd -4 toegevoegd.
ping -4 -c 4 example.comPING (172.66.147.243) 56(84) bytes of data.
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=1 ttl=54 time=2.64 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=2 ttl=54 time=2.55 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=3 ttl=54 time=2.57 ms
64 bytes from 172.66.147.243 (172.66.147.243): icmp_seq=4 ttl=54 time=2.58 ms
--- ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 2.553/2.585/2.642/0.033 msMet iputils 20210202 op de AlmaLinux 9-server bleef met -4 het naamveld in de eerste regel en in de statistiekregel leeg. Hetzelfde commando met iputils 20221126 op de Debian 12-server toonde example.com gewoon.
Op de Debian 12-server zonder standaard-IPv6-route eindigde ping met -6 meteen met [connect: Network is unreachable], zonder antwoordregels.
ping -6 -c 2 example.comping: connect: Network is unreachable🔲 Opties van het ping-commando
📌 Belangrijkste opties: resultaten uit dit artikel
| Optie | Taak | Resultaat in dit artikel | |
|---|---|---|---|
| -c aantal | Stelt in hoeveel pakketten er worden verzonden en stopt daarna | -c 4 op de Debian 12-server: vier pakketten, vier antwoorden, round-trip 1,28–1,46 ms | |
| -i interval | Tussentijd tussen pakketten (seconden), standaard 1 seconde | Met -i 0.5 daalde de tijd voor vier pakketten van 3003 ms naar 1502 ms | |
| -w tijd | Tijd (seconden) waarna ping helemaal stopt, ongeacht hoeveel pakketten er zijn verzonden | -c 10 -w 3 stuurde na 3 seconden maar drie pakketten en eindigde met exitcode 1 | |
| -W tijd | Wachttijd (seconden) voor één antwoord als er helemaal geen antwoord komt | Twee keer naar 192.0.2.1 met -W 1: [100% packet loss], exitcode 1 | |
| -q | Toont alleen de eerste regel en de statistiek aan het einde, zonder antwoordregels | Na vier pakketten bleven alleen de eerste regel en de statistiekregel over | |
| -s grootte | Grootte van de verzonden data (bytes), standaard 56 | Met -s 1000 toont de eerste regel 1000(1028) bytes en de antwoordregels 1008 bytes | |
| -t TTL | TTL van de verzonden pakketten | Met -t 3 stuurde de derde router beide keren [Time to live exceeded] terug | |
| -4 | Stuurt alleen naar IPv4-adressen | Op de AlmaLinux 9-server naar het IPv4- in plaats van het IPv6-adres gestuurd; het naamveld blijft leeg | |
| -6 | Stuurt alleen naar IPv6-adressen | Op de Debian 12-server zonder standaard-IPv6-route: [connect: Network is unreachable] | |
| -D | Zet de Unix-tijd (seconden.microseconden) voor elke antwoordregel | Voor elke antwoordregel staat een tijdstempel zoals [1793227536.574201] | |
| -V | Toont versie-informatie | Debian 12 heeft iputils 20221126, AlmaLinux 9 heeft iputils 20210202 |
📎 Andere opties: volgens de officiële handleiding
| Optie | Taak | |
|---|---|---|
| -n | Toont adressen alleen als cijfers, zonder ze naar namen om te zetten | |
| -I interface | Bepaalt de interface of het bronadres waarvandaan wordt verzonden | |
| -A | Past de tussentijd zelf aan de round-trip-tijd aan; zonder root minimaal 200 ms | |
| -f | Flood-ping die snel verstuurt zonder op antwoorden te wachten; interval 0 alleen voor root | |
| -l aantal | Aantal pakketten dat vooraf wordt verstuurd zonder op antwoord te wachten; meer dan 3 alleen voor root | |
| -M do | Stelt de modus van Path MTU Discovery in; do voorkomt fragmentatie (want en dont kan ook) | |
| -p patroon | Bytepatroon waarmee de verzonden pakketten worden gevuld, tot 16 bytes | |
| -O | Meldt verzoeken zonder antwoord voordat het volgende pakket wordt verstuurd; samen met -D gebruikt bij het vastleggen | |
| -R | Legt de afgelegde route vast (alleen IPv4; veel hosts negeren deze optie) | |
| -b | Staat verzenden naar een broadcastadres toe | |
| -a | Laat bij elk antwoord een geluid horen |
🔲 Simulator voor het ping-commando
In de simulator hieronder kun je zelf commando's invoeren en de resultaten bekijken voor aantal en interval, pakketgrootte en verzenden naar een adres dat niet antwoordt.
4️⃣ ping krijgt geen antwoord
[100% packet loss] betekent dat er op de verzonden pakketten geen enkel antwoord kwam. Twee keer met -W 1 naar 192.0.2.1 gestuurd, een adres dat voor documentatie is gereserveerd, verscheen alleen de statistiek, zonder antwoordregels.
ping -c 2 -W 1 192.0.2.1PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
--- 192.0.2.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1024msKwam er geen enkel antwoord, dan was de exitcode van ping 1, en met antwoorden was die 0. Scripts gebruiken deze waarde om te controleren of een andere server antwoordt.
ping -c 2 -W 1 192.0.2.1 > /dev/null; echo $?; ping -c 1 example.com > /dev/null; echo $?1
0ping controleert alleen ICMP, dus een server die ICMP blokkeert kan op webverzoeken antwoorden en ping toch negeren. Twee keer amazon.com pingen vanaf de Debian 12-server gaf [100% packet loss], terwijl een webverzoek met curl naar hetzelfde adres een 301-antwoord kreeg.
ping -c 2 -W 1 amazon.comPING amazon.com (98.82.161.185) 56(84) bytes of data.
--- amazon.com ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1002mscurl -sI https://amazon.com/ | head -1HTTP/1.1 301 Moved PermanentlyEen server die ICMP blokkeert, is als een winkel die zijn deurbel heeft weggehaald.
Sommige cloudservers antwoorden pas op ping als ICMP in de firewallregels is toegestaan. Een VM-instantie in Oracle Cloud antwoordde op ping nadat het ICMP-type in de beveiligingslijst van het openbare subnet op 8 was gezet.
Kan ping de naam niet naar een IP-adres omzetten, dan stopt het meteen met [Name or service not known], zonder eerste regel, en de exitcode was 2. .invalid is een naam die zo is gereserveerd dat hij nergens wordt omgezet, daarom is hij gebruikt om deze fout te controleren.
ping -c 1 no-such-host.invalidping: no-such-host.invalid: Name or service not knownKrijg je deze fout bij een echt domein, controleer dan met het nslookup-commando of de DNS-server een adres voor die naam teruggeeft. De vier uitvoeren zonder antwoord en wat je daarna controleert, staan hieronder.
| Uitvoer | Betekenis | Daarna controleren |
|---|---|---|
| 100% packet loss | Op de verzonden pakketten kwam geen enkel antwoord | De webdienst met curl, de firewall met een regel die ICMP toestaat |
| Name or service not known | Naam kon niet naar een IP-adres worden omgezet | DNS-antwoord met nslookup |
| connect: Network is unreachable | Geen route naar buiten voor dat adrestype | Met -4 naar het IPv4-adres sturen |
| Time to live exceeded | TTL werd 0 bij een tussenliggende router | De waarde van -t verhogen of weglaten en opnieuw sturen |
🔢 FAQ & aanbevolen content
Netwerk · Instellingen
[Linux] ip-commando: netwerkinterfaces en instellingen beheren
Het ip-commando om netwerkinterfaces, IP-adressen en routering van een server te controleren en te beheren.
Netwerk · DNS
Linux host-commando | commando voor DNS-opvraging
Het host-commando om het IP-adres bij een hostnaam te vinden of een IP-adres naar een hostnaam om te zetten.
Verbinding · overdracht
SSH-commando: opties en gebruik
Opties en gebruik van het SSH-commando, dat via een versleutelde verbinding met een externe server verbindt om er commando's uit te voeren.
ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.