-4
Utiliser seulement IPv4.
-6
Utiliser seulement IPv6.
-a
Ping sonore.
-A
Ping adaptatif. L'intervalle entre les paquets s'adapte au délai aller-retour (round-trip time, RTT), afin qu'il n'y ait pas plus d'un essai sans réponse (ou plus, si le préchargement est utilisé) sur le réseau. L'intervalle minimal est de 200 ms pour les utilisateurs normaux (non super-utilisateurs). Sur les réseaux de faible RTT, ce mode est quasiment équivalent au mode inondation.
-b
Autoriser à envoyer un ping à une adresse de diffusion (broadcast).
-B
Ne pas autoriser ping à changer l'adresse source des essais. L'adresse est liée à celle sélectionnée au démarrage de ping.
-c nombre
Arrêter après avoir envoyé nombre paquets ECHO_REQUEST. Avec l'option échéance, ping attend pour nombre paquets ECHO_REPLY, jusqu'à ce que le délai expire.
-C
Appeler l'appel système connect() lors de la création de socket.
-d
Définir l'option SO_DEBUG sur le socket utilisé. Généralement, cette option de socket n'est pas utilisée par le noyau Linux.
-e
Définir le champ d'identification de ECHO_REQUEST. La valeur 0 implique l'usage de socket raw (non géré par le socket de datagrammes ICMP). La valeur du champ peut être affichée avec l'option -v.
-D
Afficher l'horodatage (temps Unix + les microsecondes comme dans gettimeofday) avant chaque ligne.
-f
Mode inondation (flood ping). Pour chaque ECHO_REQUEST envoyé, un point (« . ») est affiché, alors que pour chaque ECHO_REPLY reçu un effacement arrière (backspace) est affiché. Cela fournit un affichage rapide de combien de paquets ont été abandonnés. S'il n'y a pas d'intervalle donné, l'intervalle est défini à zéro et ping renvoie les paquets aussi vite qu'ils reviennent ou cent fois par seconde, selon le plus rapide. Seul le superutilisateur peut utiliser cette option avec un intervalle de zéro.
-F flow label
Seulement pour IPv6. Allouer et inscrire une étiquette de flux de 20 bits (en hexadécimal) sur les paquets ECHO_REQUEST. Si la valeur est zéro, le noyau alloue une étiquette de flux aléatoire.
-h
Afficher l'aide.
-i intervalle
Attendre intervalle secondes entre l'envoi de chaque paquet. Les nombres réels sont autorisés avec un point comme séparateur de décimales (indépendamment du réglage des paramètres régionaux). L'attente par défaut est d'une seconde entre chaque paquet ou aucune attente en mode inondation. Seul le superutilisateur peut définir l'intervalle à une valeur inférieure à 2 ms.
-I interface
L'interface est soit une adresse, un nom d'interface ou un nom VRF. Si l'interface est une adresse, son adresse source est définie par l'adresse de l'interface spécifiée. Si l'interface est un nom d'interface, son interface source est définie à l'interface spécifiée. Si l'interface est un nom VRF, chaque paquet est routé en utilisant la table de routage correspondante ; dans ce cas, l'option -I peut être répétée pour spécifier une adresse source. NOTE : Pour IPv6, lors d'un ping à une adresse de portée liaison locale, la spécification de la liaison (par la notation « % » dans destination ou par cette option) peut être utilisée, mais n'est plus nécessaire.
-l préchargement
Si préchargement est spécifié, ping envoie plusieurs paquets sans attendre de réponse. Seul le superutilisateur peut sélectionner un préchargement supérieur à trois.
-L
Enlever la boucle locale (loopback) des paquets multidestinataires (multicast). Cette option ne s'applique que si la destination du ping est une adresse multidestinataire.
-m marque
Utiliser marque pour étiqueter les paquets sortants. Cela est utile pour diverses raisons dans le noyau comme l'utilisation du routage selon la politique pour sélectionner un traitement spécifique des sorties.
-M pmtudisc_opt
Sélectionner la stratégie de découverte du chemin MTU (Path MTU Discovery). L'option pmtudisc_option peut être soit do (prohiber la fragmentation, même locale), soit want (faire la découverte du chemin MTU, fragmenter localement quand le paquet est grand), ou dont (ne pas positionner de drapeau DF).
-N nodeinfo_option
Seulement pour IPv6. Envoyer des demandes d'information de nœud ICMPv6 (RFC 4620), au lieu de ECHO_REQUEST. La capacité CAP_NET_RAW est requise.
help
Afficher l'aide pour la prise en charge de NI.
nom
Demander les noms de nœuds.
ipv6
Demander les adresses IPv6. Il y a plusieurs drapeaux spécifiques à IPv6.
ipv6-global
Demander les adresses global-scope IPv6.
ipv6-sitelocal
Demander les adresses site-local IPv6.
ipv6-linklocal
Demander les adresses link-local IPv6.
ipv6-all
Demander les adresses IPv6 sur les autres interfaces.
ipv4
Demander les adresses IPv4. Il y a un drapeau spécifique à IPv4.
ipv4-all
Demander les adresses IPv4 sur les autres interfaces.
subject-ipv6=ipv6addr
Adresse de sujet IPv6.
subject-ipv4=ipv4addr
Adresse de sujet IPv4.
subject-name=nom_du_nœud
Nom du sujet. S'il contient plus qu'un point (« . »), un nom de domaine pleinement qualifié est supposé.
subject-fqdn=nom_du_nœud
Nom du sujet. Un nom de domaine pleinement qualifié est toujours supposé.
-n
Sortie numérique uniquement. Aucune tentative ne sera faite pour rechercher des noms symboliques pour les adresses d'hôtes.
-O
Rapporter la réponse ICMP ECHO en suspens avant d'envoyer le paquet suivant. Cela est utile avec l'horodatage -D pour enregistrer la sortie dans un fichier de diagnostic et rechercher les réponses manquantes.
-p motif
Vous pouvez spécifier jusqu'à 16 octets de « pad » pour remplir le paquet que vous envoyez. Cela est utile pour diagnostiquer les problèmes dépendant des données dans un réseau. Par exemple, -p ff fera en sorte que le paquet envoyé soit rempli avec des 1.
-q
Sortie silencieuse. Rien n'est affiché à part les lignes de résumé au démarrage et à la fin de l'exécution.
-Q tos
Définir la qualité de service, relative aux bits dans les datagrammes ICMP.
tos peut être un nombre décimal (
ping seulement) ou hexadécimal.
Dans la RFC2474, ces champs sont interprétés comme un champ de 8 bits destiné aux services différenciés (Differentiated Services, DS), constitué des bits 0-1 (les deux bits les plus faibles) de données indépendantes, et des bits 2-7 (les six bits les plus forts) du Differentiated Services Codepoint (DSCP). Dans les RFC2481 et RFC3168, les bits 0-1 sont utilisés pour l'ECN (NdT : Explicit Congestion Notification, notification explicite de congestion).
Historiquement (la RFC1349, rendue obsolète par la RFC2474), l'interprétation était la suivante : le bit 0 (bit le plus faible) est réservé (actuellement en cours de redéfinition pour le contrôle de congestion), 1-4 pour le type de service (Type of Service, ToS), et les bits 5-7 (bits les plus forts) pour la Priorité.
-r
Ne pas utiliser les tables de routage normales et envoyer les paquets directement à un hôte présent sur une interface directement connectée. Si l'hôte n'est pas situé dans un réseau directement connecté, une erreur est renvoyée. Cette option peut être utilisée pour envoyer un ping à un hôte local au travers d'une interface ne faisant partie d'aucune route à condition que l'option -I soit également utilisée.
-R
ping seulement. Enregistrer la route. Inclut l'option RECORD_ROUTE dans le paquet ECHO_REQUEST et affiche le tampon de la route dans les paquets renvoyés. Notez que l'en-tête IP ne peut contenir au plus que neuf de ces routes. Beaucoup d'hôtes ignorent ou désactivent cette option.
-s taille_paquet
Spécifier le nombre d'octets de données à envoyer. Le nombre par défaut est 56, ce qui se traduit en 64 octets de données ICMP quand ils sont combinés avec les 8 octets de données de l'en-tête ICMP.
-S tampon_émission
Définir le tampon d'émission du socket. S'il n'est pas spécifié, il n'est pas mis en mémoire tampon plus d'un paquet.
-t ttl
ping seulement. Spécifier le champ IP Time to Live.
-T horodatage option
Définir les options d'horodatage d'IP spéciales. horodatage option peut être soit tsonly (seulement les horodatages), tsandaddr (horodatages et adresses) ou tsprespec hôte1 [hôte2 [hôte3 [hôte4]]] (sauts prédéterminés d'horodatage).
-U
Afficher le temps de latence total utilisateur-à-utilisateur (l'ancien comportement). Normalement ping affiche le RTT (round trip time) du réseau, qui peut être différent par exemple à cause d'échecs du DNS.
-v
Sortie loquace. Ne pas supprimer les réponses DUP (paquets dupliqués) lors de l'envoi d'un ping sur une adresse multidestinataire.
-V
Afficher la version et quitter.
-w échéance
Spécifier un délai, en secondes, avant que ping ne quitte indépendamment de combien de paquets ont été envoyés ou reçus. Dans ce cas ping ne stoppe pas après que nombre paquets soient envoyés, il attend soit que l'échéance expire ou que nombre essais aient reçu une réponse, ou encore qu'une notification d'erreur provienne du réseau.
-W délai
Temps d'attente d'une réponse, en secondes. L'option ne concerne que le délai en l'absence d'une quelconque réponse, sinon ping attend deux RTT. Les nombres réels sont autorisés avec un point comme séparateur de décimales (indépendamment du réglage des paramètres régionaux). 0 signifie un délai infini.
Quand vous utilisez ping pour la localisation de pannes, il devrait d'abord être exécuté sur l'hôte local, pour vérifier que l'interface réseau locale est activée et fonctionne correctement. Ensuite, un ping devrait être envoyé aux hôtes et aux passerelles de plus en plus éloignés. Les délais aller-retour et les statistiques de perte de paquets sont calculés. Si des paquets dupliqués sont reçus, ils ne sont pas inclus dans le calcul des paquets perdus, bien que le temps d'aller-retour de ces paquets soit utilisé pour calculer les temps d'aller-retour minimal/moyen/maximal/écart type.
L'écart type de la population (mdev), essentiellement une moyenne de l'écart entre le RTT de chaque ping et le RTT moyen. Plus l'écart type est élevé, plus le RTT est variable (dans le temps). Avec une variabilité élevée du RTT, vous aurez des problèmes de vitesse avec les transferts de masse (ils prendront plus de temps que nécessaire à proprement parler, car la variabilité fera que l'expéditeur finira par attendre les acquittements) et vous aurez une qualité de VoIP moyenne à médiocre.
Lorsque le nombre de paquets indiqués ont été envoyés (et reçus) ou si le programme se termine avec un SIGINT, un bref résumé est affiché. Des statistiques actuelles plus courtes peuvent être obtenues sans terminer le processus en utilisant le signal SIGQUIT.
Si ping ne reçoit aucun paquet en retour, il quittera avec le code 1. Si un paquet est spécifié avec à la fois nombre et échéance, et que moins de paquets que nombre sont reçus au moment où l'échéance est atteinte, ping quittera aussi avec le code 1. Pour une autre erreur, il quittera avec le code 2. Sinon, il quittera avec le code 0. Cela rend possible l'utilisation du code de sortie pour savoir si un hôte est actif ou non.
Ce programme est fait pour être utilisé dans les tests, la mesure et l'administration du réseau. À cause de la charge qu'il peut infliger au réseau, il est imprudent d'utiliser ping pendant les opérations normales ou à partir de scripts automatisés.