Commande ping : options de ping sous Linux et vérification du 100% packet loss

Environnement de testFamille RHELAlmaLinux 9.8iputils 20210202Compte rootDebian 12 · iputils 20221126 compte standard
Commandes réseaupingEmplacement/usr/bin/pingVérifié le 2026-11-04

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

  • ↪️ Lire les lignes de sortie

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.com
PING 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 ms

En 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.

SortieCe 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=1Numéro d'ordre de l'envoi
ttl=58TTL restant dans le paquet de réponse — il baisse de 1 à chaque routeur traversé
time=1.46 msTemps d'aller-retour de ce paquet
4 packets transmitted, 4 received, 0% packet lossPaquets envoyés, paquets reçus et part restée sans réponse
time 3003msTemps écoulé entre le premier envoi et la fin
rtt min/avg/max/mdevTemps 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.com
PING 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 ms

Vérifiez la version de ping installée avec -V. Le serveur Debian 12 avait iputils 20221126 et le serveur AlmaLinux 9 iputils 20210202.

ping -V
ping from iputils 20221126
libcap: yes, IDN: yes, NLS: no, error.h: yes, getrandom(): yes, __fpending(): yes
ping -V
ping from iputils 20210202

2️⃣ Options de nombre et d'intervalle de ping

  • ↪️ -c, -i, -w, -W, -q

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.com
PING 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 ms

D'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.com
PING 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 ms

Les 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.com
PING 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 ms

3️⃣ Options de taille de paquet et d'IPv6 de ping

  • ↪️ -s, -t, -4, -6

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.com
PING 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 ms

1028 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.com
PING 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 1001ms

Avec 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.com
PING  (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 ms

Avec 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.com
ping: connect: Network is unreachable

🔲 Options de la commande ping

📌 Options principales : résultats de cet article

OptionRôleRésultat dans cet article
-c nombreFixe 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 intervalleIntervalle entre les envois (secondes), 1 seconde par défautAvec -i 0.5, le temps pour envoyer quatre paquets est passé de 3003 ms à 1502 ms
-w duréeDuré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éeTemps (secondes) d'attente d'une seule réponse quand aucune réponse ne revientDeux envois vers 192.0.2.1 avec -W 1 : [100% packet loss], code de sortie 1
-qN'affiche que la première ligne et les statistiques finales, sans lignes de réponseAprès quatre envois, il ne reste que la première ligne et la ligne de statistiques
-s tailleTaille des données envoyées (octets), 56 par défautAvec -s 1000, la première ligne indique 1000(1028) bytes et les lignes de réponse 1008 bytes
-t TTLTTL des paquets envoyésAvec -t 3, le troisième routeur a renvoyé [Time to live exceeded] les deux fois
-4N'envoie qu'à des adresses IPv4Sur le serveur AlmaLinux 9, envoi vers l'adresse IPv4 au lieu d'IPv6 ; le champ du nom reste vide
-6N'envoie qu'à des adresses IPv6Sur le serveur Debian 12 sans route IPv6 par défaut : [connect: Network is unreachable]
-DAjoute devant chaque ligne de réponse l'heure Unix (secondes.microsecondes)Un horodatage comme [1793227536.574201] apparaît devant chaque ligne de réponse
-VAffiche les informations de versionDebian 12 a iputils 20221126, AlmaLinux 9 a iputils 20210202

📎 Autres options : selon le manuel officiel

OptionRôle
-nAffiche les adresses uniquement en chiffres, sans les résoudre en noms
-I interfaceIndique l'interface ou l'adresse source d'envoi
-AAjuste de lui-même l'intervalle d'envoi au temps d'aller-retour ; sans root, intervalle minimum de 200 ms
-fPing par inondation (flood) qui envoie vite sans attendre les réponses ; l'intervalle 0 est réservé à root
-l nombreNombre de paquets envoyés d'avance sans attendre de réponse ; plus de 3 est réservé à root
-M doFixe le mode de Path MTU Discovery ; do empêche la fragmentation (want et dont sont aussi acceptés)
-p motifMotif d'octets qui remplit les paquets envoyés, jusqu'à 16 octets
-OSignale les requêtes restées sans réponse avant l'envoi du paquet suivant ; s'utilise avec -D pour journaliser
-REnregistre le chemin parcouru (IPv4 uniquement ; beaucoup d'hôtes ignorent cette option)
-bAutorise 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.

Simulateur de la commande pingiputils 20221126
[root@server work]#
Fonctionne uniquement dans votre navigateur et n'envoie aucun vrai paquet. Avec ↑↓, rappelez les commandes saisies auparavant.

4️⃣ ping sans réponse

  • ↪️ 100% packet loss et échec de la résolution de nom

[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.1
PING 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 1024ms

Quand 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
0

ping 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.com
PING amazon.com (98.82.161.185) 56(84) bytes of data.

--- amazon.com ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1002ms
curl -sI https://amazon.com/ | head -1
HTTP/1.1 301 Moved Permanently

Un 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.invalid
ping: no-such-host.invalid: Name or service not known

Si 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.

SortieSignificationÀ vérifier ensuite
100% packet lossAucune réponse n'est revenue pour les paquets envoyésLe service web avec curl, le pare-feu avec une règle autorisant ICMP
Name or service not knownImpossible de résoudre le nom en adresse IPRéponse DNS avec nslookup
connect: Network is unreachableAucune route de sortie pour ce type d'adresseEnvoyer vers l'adresse IPv4 avec -4
Time to live exceededLe TTL est tombé à 0 sur un routeur intermédiaireAugmenter la valeur de -t ou la retirer, puis renvoyer

🔢 FAQ & contenus recommandés

Sur le serveur Debian 12, un compte ordinaire a reçu des réponses sans sudo. Sur ce serveur, /usr/bin/ping possède la capacité cap_net_raw (capability) : il pouvait donc envoyer des paquets ICMP sans être root.

Sur les deux serveurs vérifiés, ping était installé par le paquet iputils sous AlmaLinux 9 et par le paquet iputils-ping sous Debian 12. On l'installe donc avec [sudo dnf install iputils] sur la famille RHEL et avec [sudo apt install iputils-ping] sur la famille Debian.

Avec -D, l'heure Unix (secondes.microsecondes) s'ajoute devant chaque ligne de réponse. Deux envois vers example.com depuis le serveur Debian 12 ont enregistré un horodatage comme [1793227536.574201] devant chaque ligne de réponse.

ℹ️ 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain : 6   +   2   =