Quel que soit le type d’utilisateur Linux que vous êtes (débutant ou pro), il existe certains outils que vous devez connaître. L’un de ces utilitaires est Ping. Dans ce tutoriel, nous allons aborder les bases de cet outil en utilisant quelques exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples de l’article ici ont été testés sur une machine Ubuntu 16.04 LTS.
Commande ping Linux
En termes les plus simples, la commande ping vous permet de vérifier si un hôte distant est vivant et répond ou non. Voici la syntaxe de l’outil :
ping 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 de style Q&A qui devraient vous 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 de cette commande produit sur mon système :
Notez que par défaut, la commande continuera à s’exécuter jusqu’à ce que vous l’arrêtiez par Ctrl+C.
Q2. Comment modifier l’intervalle de temps entre les paquets ping ?
Par défaut, il y a un écart d’une seconde entre les paquets ping. Cependant, si vous le souhaitez, vous pouvez personnaliser ce délai à l’aide de 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
Notez que seul le super-utilisateur peut définir l’intervalle à des valeurs inférieures à 0,2 seconde
Q3. Comment modifier la taille du paquet ping ?
Par défaut, le nombre d’octets dans un paquet ping est de 56 (64 si vous incluez 8 octets d’en-tête ICMP). Cependant, si vous le souhaitez, vous modifiez cette valeur, ce que vous pouvez 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), utilisez la commande suivante :
ping -s 80 howtoforge.com
Q4. Comment faire en sorte que ping envoie un nombre déterminé 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 vous le souhaitez, vous pouvez forcer ping à arrêter son exécution après avoir envoyé un nombre défini de paquets. Vous pouvez 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. Vous pouvez le faire en utilisant l’option de ligne de commande -f.
ping -f howtoforge.com
Voici ce que dit la doc 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 vous permet de faire cela. L’horodatage qui est imprimé est une combinaison de l’heure unix et des microsecondes (comme dans gettimeofday).
ping -D howtoforge.com
Voici une capture d’écran de cette option en action:
Q7. Comment définir un délai d’expiration dur pour ping ?
Vous pouvez spécifier un délai de sortie pour ping. Vous pouvez le faire en utilisant l’option de ligne de commande -w qui nécessite 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 la doc officielle explique 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 le ping ?
Alors que l’option -w fait en sorte 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 en sorte que le ping s’arrête, mais seulement 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. Pratiquez-les, et une fois que vous avez terminé, dirigez-vous vers la page de manuel de l’outil pour en savoir plus.
.