Tutoriel de la commande ping de Linux pour les débutants (8 exemples)

Quel que soit le type d’utilisateur Linux que tu es (débutant ou pro), il existe certains outils que tu dois connaître. L’un de ces outils est Ping. Dans ce tutoriel, nous allons aborder les bases de cet outil à l’aide d’exemples faciles à comprendre. Mais avant cela, il est bon de mentionner que tous les exemples de l’article ici ont été testés sur une machine Ubuntu 16.04 LTS.

Commande ping de Linux

En termes simples, la commande ping te permet de vérifier si un hôte distant est vivant et répond ou non. Voici la syntaxe de l’outil :

ping [OPTIONS] destination

Et voici comment la page de manuel l’explique :

       ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit
       an ICMP ECHO_RESPONSE from a host or gateway.   ECHO_REQUEST  datagrams
       (``pings'')  have  an  IP and ICMP header, followed by a struct timeval
       and then an arbitrary number of ``pad'' bytes  used  to  fill  out  the
       packet.

       ping6  is  IPv6  version  of  ping,  and can also send Node Information
       Queries (RFC4620).  Intermediate hops may not be allowed, because  IPv6
       source routing was deprecated (RFC5095).

Voici quelques exemples sous forme de questions-réponses qui devraient te donner une bonne idée du fonctionnement de la commande ping.

Q1. Comment utiliser la commande ping ?

L’utilisation de base est assez simple : il suffit d’exécuter la commande ‘ping’ avec la destination en entrée.

Par exemple :

ping howtoforge.com

Voici le résultat produit par cette commande sur mon système :

Comment utiliser la commande ping

Note que par défaut, la commande continuera à s’exécuter jusqu’à ce que tu l’arrêtes par Ctrl+C.

Q2. Comment modifier l’intervalle de temps entre les paquets ping ?

Par défaut, il y a un intervalle d’une seconde entre les paquets ping. Cependant, si tu veux, tu peux personnaliser ce délai en utilisant l’option de ligne de commande -i.

Par exemple, la commande suivante s’assure qu’il y a un écart de 3 secondes :

ping -i 3 howtoforge.com

Et la commande suivante envoie des paquets avec un délai d’une demi-seconde.

ping -i 0.5 howtoforge.com

Note que seul le super-utilisateur peut définir l’intervalle à des valeurs inférieures à 0,2 seconde

Q3. Comment modifier la taille des paquets ping ?

Par défaut, le nombre d’octets dans un paquet ping est de 56 (64 si tu inclus 8 octets d’en-tête ICMP). Cependant, si tu veux, tu peux modifier cette valeur, ce que tu peux faire en utilisant l’option de ligne de commande -s.

Par exemple, pour envoyer un paquet de 80 octets (88 en incluant l’en-tête ICMP), utilise la commande suivante :

ping -s 80 howtoforge.com

Comment modifier la taille des paquets de ping

Q4. Comment faire en sorte que ping envoie un nombre défini de paquets ?

Le comportement par défaut de ping est de continuer à envoyer des paquets jusqu’à ce qu’il soit interrompu par l’utilisateur. Cependant, si tu veux, tu peux forcer ping à arrêter de s’exécuter après avoir envoyé un nombre défini de paquets. Tu peux le faire en utilisant l’option de ligne de commande -c.

Par exemple, la commande suivante enverra 3 paquets puis s’arrêtera.

ping -c 3 howtoforge.com

Q5. Comment lancer un déluge de paquets à l’aide de ping ?

Oui, la commande ping offre également une option pour lancer un déluge de paquets. Tu peux le faire en utilisant l’option de ligne de commande -f.

ping -f howtoforge.com

Voici ce que dit la documentation officielle sur cette option :

              For  every  ECHO_REQUEST  sent  a  period  ``.''  is
              printed,  while  for  ever  ECHO_REPLY  received  a backspace is
              printed.  This provides a rapid display of how many packets  are
              being  dropped.   If  interval is not given, it sets interval to
              zero and outputs packets as fast as they come back or  one  hun?
              dred  times  per second, whichever is more.  Only the super-user
              may use this option with zero interval.

Q6. Comment faire pour que ping imprime l’horodatage avant chaque ligne ?

Il existe une option (-D) qui te permet de le faire. L’horodatage qui est imprimé est une combinaison de l’heure Unix et de microsecondes (comme dans gettimeofday).

ping -D howtoforge.com

Voici une capture d’écran de cette option en action :

Comment faire pour que ping imprime l'horodatage avant chaque ligne

Q7. Comment définir un délai ferme pour le ping ?

Tu peux spécifier un délai d’expiration pour que ping se termine. Pour ce faire, tu peux utiliser l’option de ligne de commande -w qui requiert une valeur numérique représentant le nombre de secondes.

Par exemple, la commande ping suivante s’arrêtera après 3 secondes :

ping -w 3 howtoforge.com

Voici comment les docs officiels expliquent cette option :

              Specify  a  timeout, in seconds, before ping exits regardless of
              how many packets have been sent or received. In this  case  ping
              does  not  stop after count packet are sent, it waits either for
              deadline expire or until count probes are answered or  for  some
              error notification from network.

Q8. Comment définir un délai d’attente souple pour ping ?

Alors que l’option -w s’assure que le ping s’arrête dans tous les cas après l’expiration du délai, il existe une autre option (-W, en majuscules) qui fait également s’arrêter le ping, mais uniquement lorsqu’il n’y a pas de réponse du côté de la destination.

ping -W 3 howtoforge.com

Voici comment la page de manuel explique le comportement dans ce cas :

              Time to wait for a response, in seconds. The option affects only
              timeout in absence of any responses, otherwise  ping  waits  for
              two RTTs.

Conclusion

Ping est un outil important qui est presque certainement utilisé pour déboguer les problèmes liés au réseau. Dans ce tutoriel, nous avons abordé certaines des principales fonctionnalités (options de ligne de commande) de cet utilitaire. Mets-les en pratique et, une fois que tu as terminé, consulte lapage de manuel de l’outil pour en savoir plus.

Vous aimerez aussi...