Commande ping : options de ping sous Linux et vérification du 100% packet loss
Sur un serveur Linux, la commande ping vérifie si les paquets atteignent un autre serveur et combien de temps prend l'aller-retour. En envoyant vers example.com depuis des serveurs AlmaLinux 9 et Debian 12 avec un nombre fixé par -c, le temps d'aller-retour était de 1 à 3 ms, et un serveur qui bloque ICMP affichait 100% packet loss avec ping alors qu'il répondait aux requêtes web.
La sortie ci-dessous provient d'un serveur AlmaLinux 9.8 (compte root) et d'un serveur Debian 12 (compte ordinaire). Chaque ping a été lancé avec un nombre d'envois fixé par -c. Les adresses IP privées des routeurs intermédiaires ont été remplacées par des valeurs d'exemple, et les adresses obtenues à partir de domaines publics comme example.com ont été laissées telles quelles.
1️⃣ Utiliser la commande ping
ping envoie une requête d'écho ICMP à l'autre serveur et affiche, ligne par ligne, le temps mis par la réponse d'écho pour revenir. Sous Linux, ping continue d'envoyer jusqu'à ce que vous l'arrêtiez avec Ctrl+C si vous ne fixez pas de nombre avec -c (selon le manuel officiel) : lancez-le donc dès le départ avec un nombre, comme -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 msEn envoyant quatre paquets vers example.com depuis le serveur Debian 12, les quatre réponses sont revenues, avec un temps d'aller-retour de 1,28 à 1,46 ms. Voici ce que montre chaque ligne.
| Sortie | Ce qu'elle affiche |
|---|---|
| PING example.com (172.66.147.243) 56(84) bytes of data. | L'adresse obtenue en résolvant le nom et la taille envoyée — 56 octets de données plus 20 octets d'en-tête IP et 8 octets d'en-tête ICMP font 84 octets |
| 64 bytes from … | Taille de la réponse reçue (56 octets de données + 8 octets d'en-tête ICMP) |
| icmp_seq=1 | Numéro d'ordre de l'envoi |
| ttl=58 | TTL restant dans le paquet de réponse — il baisse de 1 à chaque routeur traversé |
| time=1.46 ms | Temps d'aller-retour de ce paquet |
| 4 packets transmitted, 4 received, 0% packet loss | Paquets envoyés, paquets reçus et part restée sans réponse |
| time 3003ms | Temps écoulé entre le premier envoi et la fin |
| rtt min/avg/max/mdev | Temps d'aller-retour minimum, moyen et maximum, et leur dispersion (mdev) |
mdev indique à quel point les temps d'aller-retour s'écartent de la moyenne, et le manuel officiel explique que plus la valeur est grande, moins ces temps sont réguliers. Dans ce résultat, où les quatre réponses sont restées sous 1,5 ms, mdev valait 0,074 ms.
La même commande sur le serveur AlmaLinux 9 a envoyé vers l'adresse IPv6 d'example.com, et la première ligne n'affichait que 56 data bytes, sans le 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 msVérifiez la version de ping installée avec -V. Le serveur Debian 12 avait iputils 20221126 et le serveur AlmaLinux 9 iputils 20210202.
ping -Vping from iputils 20221126
libcap: yes, IDN: yes, NLS: no, error.h: yes, getrandom(): yes, __fpending(): yesping -Vping from iputils 202102022️⃣ Options de nombre et d'intervalle de ping
Parmi les options de ping, -c est le nombre d'envois et -i l'intervalle entre eux (secondes). L'intervalle par défaut est d'une seconde, et avec -i 0.5 le temps pour envoyer quatre paquets est passé de 3003 ms à 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 msD'après le manuel d'iputils 20210202 du serveur AlmaLinux 9, seul root peut descendre sous un intervalle de 0,2 seconde, tandis que le manuel d'iputils 20221126 du serveur Debian 12 fixe cette limite à 2 ms. Des intervalles courts peuvent charger l'autre serveur et le réseau.
-w est la durée (secondes) au bout de laquelle ping s'arrête complètement, quel que soit le nombre d'envois. Avec -c, ping s'arrête dès qu'il a reçu le nombre de réponses fixé ou quand la durée de -w est écoulée. Avec -c 10 -w 3, il n'a envoyé que trois paquets et s'est arrêté au bout de 3 secondes.
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 msLes trois réponses sont revenues, mais comme les 10 envois fixés n'ont pas été atteints, le code de sortie de ping était 1. Le manuel officiel explique lui aussi qu'avec -c et -w ensemble, ping se termine avec 1 s'il ne reçoit pas le nombre de réponses fixé.
-W est le temps (secondes) d'attente d'une seule réponse. D'après le manuel officiel, cette valeur ne s'applique que si aucune réponse ne revient ; pour un hôte qui répond, ping attend deux fois le temps d'aller-retour.
Pour ne voir que le résumé sans les lignes de résultat, ajoutez -q. Après quatre envois, il ne restait que la première ligne et les statistiques finales.
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️⃣ Options de taille de paquet et d'IPv6 de ping
La taille des données envoyées se change avec -s. Avec -s 1000, la première ligne est passée à 1000(1028) bytes et les lignes de réponse à 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 correspond à 1000 octets de données plus 20 octets d'en-tête IP et 8 octets d'en-tête ICMP, et 1008 aux données plus le seul en-tête ICMP. Le temps d'aller-retour était de 1,21 à 1,31 ms, presque comme avec la taille par défaut (56 octets).
-t fixe le TTL des paquets envoyés. Le TTL baisse de 1 à chaque routeur, et à 0 ce routeur jette le paquet et renvoie [Time to live exceeded].
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 1001msAvec le TTL abaissé à 3, le troisième routeur a renvoyé [Time to live exceeded] les deux fois. En augmentant le TTL un par un à partir de 1, example.com a répondu pour la première fois à 8.
-4 et -6 limitent le type d'adresse de destination à IPv4 ou à IPv6. Le serveur AlmaLinux 9 envoyait vers l'adresse IPv6 d'example.com même sans option, donc -4 a été ajouté pour envoyer vers l'adresse IPv4.
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 msAvec iputils 20210202 sur le serveur AlmaLinux 9, ajouter -4 a laissé vide le champ du nom dans la première ligne et dans la ligne de statistiques. La même commande avec iputils 20221126 sur le serveur Debian 12 affichait example.com normalement.
Sur le serveur Debian 12, qui n'a pas de route IPv6 par défaut, ajouter -6 s'est terminé aussitôt par [connect: Network is unreachable], sans ligne de réponse.
ping -6 -c 2 example.comping: connect: Network is unreachable🔲 Options de la commande ping
📌 Options principales : résultats de cet article
| Option | Rôle | Résultat dans cet article | |
|---|---|---|---|
| -c nombre | Fixe le nombre de paquets à envoyer et s'arrête une fois ce nombre envoyé | -c 4 sur le serveur Debian 12 : quatre envois, quatre réponses, aller-retour 1,28–1,46 ms | |
| -i intervalle | Intervalle entre les envois (secondes), 1 seconde par défaut | Avec -i 0.5, le temps pour envoyer quatre paquets est passé de 3003 ms à 1502 ms | |
| -w durée | Durée (secondes) au bout de laquelle ping s'arrête complètement, quel que soit le nombre d'envois | -c 10 -w 3 n'a envoyé que trois paquets en 3 secondes et s'est terminé avec le code de sortie 1 | |
| -W durée | Temps (secondes) d'attente d'une seule réponse quand aucune réponse ne revient | Deux envois vers 192.0.2.1 avec -W 1 : [100% packet loss], code de sortie 1 | |
| -q | N'affiche que la première ligne et les statistiques finales, sans lignes de réponse | Après quatre envois, il ne reste que la première ligne et la ligne de statistiques | |
| -s taille | Taille des données envoyées (octets), 56 par défaut | Avec -s 1000, la première ligne indique 1000(1028) bytes et les lignes de réponse 1008 bytes | |
| -t TTL | TTL des paquets envoyés | Avec -t 3, le troisième routeur a renvoyé [Time to live exceeded] les deux fois | |
| -4 | N'envoie qu'à des adresses IPv4 | Sur le serveur AlmaLinux 9, envoi vers l'adresse IPv4 au lieu d'IPv6 ; le champ du nom reste vide | |
| -6 | N'envoie qu'à des adresses IPv6 | Sur le serveur Debian 12 sans route IPv6 par défaut : [connect: Network is unreachable] | |
| -D | Ajoute devant chaque ligne de réponse l'heure Unix (secondes.microsecondes) | Un horodatage comme [1793227536.574201] apparaît devant chaque ligne de réponse | |
| -V | Affiche les informations de version | Debian 12 a iputils 20221126, AlmaLinux 9 a iputils 20210202 |
📎 Autres options : selon le manuel officiel
| Option | Rôle | |
|---|---|---|
| -n | Affiche les adresses uniquement en chiffres, sans les résoudre en noms | |
| -I interface | Indique l'interface ou l'adresse source d'envoi | |
| -A | Ajuste de lui-même l'intervalle d'envoi au temps d'aller-retour ; sans root, intervalle minimum de 200 ms | |
| -f | Ping par inondation (flood) qui envoie vite sans attendre les réponses ; l'intervalle 0 est réservé à root | |
| -l nombre | Nombre de paquets envoyés d'avance sans attendre de réponse ; plus de 3 est réservé à root | |
| -M do | Fixe le mode de Path MTU Discovery ; do empêche la fragmentation (want et dont sont aussi acceptés) | |
| -p motif | Motif d'octets qui remplit les paquets envoyés, jusqu'à 16 octets | |
| -O | Signale les requêtes restées sans réponse avant l'envoi du paquet suivant ; s'utilise avec -D pour journaliser | |
| -R | Enregistre le chemin parcouru (IPv4 uniquement ; beaucoup d'hôtes ignorent cette option) | |
| -b | Autorise l'envoi vers une adresse de diffusion (broadcast) | |
| -a | Émet un son à chaque réponse reçue |
🔲 Simulateur de la commande ping
Dans le simulateur ci-dessous, vous pouvez saisir vous-même des commandes pour voir les résultats selon le nombre d'envois, l'intervalle, la taille des paquets et l'envoi vers une adresse qui ne répond pas.
4️⃣ ping sans réponse
[100% packet loss] signifie qu'aucune réponse n'est revenue pour les paquets envoyés. Deux envois avec -W 1 vers 192.0.2.1, une adresse réservée à la documentation, n'ont affiché que les statistiques, sans ligne de réponse.
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 1024msQuand aucune réponse n'est revenue, le code de sortie de ping était 1, et 0 quand des réponses sont revenues. Les scripts utilisent cette valeur pour vérifier si un autre serveur répond.
ping -c 2 -W 1 192.0.2.1 > /dev/null; echo $?; ping -c 1 example.com > /dev/null; echo $?1
0ping ne vérifie qu'ICMP : un serveur qui bloque ICMP peut donc répondre aux requêtes web tout en ignorant ping. Deux envois vers amazon.com depuis le serveur Debian 12 ont donné [100% packet loss], alors qu'une requête web avec curl vers la même adresse a reçu une réponse 301.
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 PermanentlyUn serveur qui bloque ICMP ressemble à une boutique qui a retiré sa sonnette.
Certains serveurs cloud ne répondent à ping qu'une fois ICMP autorisé dans les règles du pare-feu. Une instance de VM Oracle Cloud a répondu à ping après le passage du type ICMP à 8 dans la liste de sécurité du sous-réseau public.
Si ping ne parvient pas à résoudre le nom en adresse IP, il s'arrête aussitôt sur [Name or service not known], sans première ligne, avec le code de sortie 2. .invalid est un nom réservé pour ne se résoudre nulle part, c'est pourquoi il a servi à vérifier cette erreur.
ping -c 1 no-such-host.invalidping: no-such-host.invalid: Name or service not knownSi cette erreur apparaît pour un vrai domaine, consultez : Commande nslookup — vérifiez si le serveur DNS renvoie une adresse pour ce nom. Les quatre sorties obtenues sans réponse et ce qu'il faut vérifier ensuite figurent ci-dessous.
| Sortie | Signification | À vérifier ensuite |
|---|---|---|
| 100% packet loss | Aucune réponse n'est revenue pour les paquets envoyés | Le service web avec curl, le pare-feu avec une règle autorisant ICMP |
| Name or service not known | Impossible de résoudre le nom en adresse IP | Réponse DNS avec nslookup |
| connect: Network is unreachable | Aucune route de sortie pour ce type d'adresse | Envoyer vers l'adresse IPv4 avec -4 |
| Time to live exceeded | Le TTL est tombé à 0 sur un routeur intermédiaire | Augmenter la valeur de -t ou la retirer, puis renvoyer |
🔢 FAQ & contenus recommandés
Réseau · Configuration
[Linux] Commande ip : gérer les interfaces réseau et les réglages
La commande ip, pour vérifier et gérer les interfaces réseau, les adresses IP et le routage d'un serveur.
Réseau · DNS
Commande host sous Linux | commande de requête DNS
La commande host, pour trouver l'adresse IP d'un nom d'hôte ou retrouver le nom d'hôte d'une adresse IP.
Connexion · transfert
Commande SSH : options et utilisation
Options et utilisation de la commande SSH, qui se connecte à un serveur distant par une connexion chiffrée pour y exécuter des commandes.
ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.