ping (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Ping.

Ping est le nom d'une commande informatique permettant de tester l'accessibilité d'une autre machine à travers un réseau IP. La commande mesure également le temps mis pour recevoir une réponse, appelé round-trip time (temps aller-retour).

Ping utilise une requête ICMP Echo et attend une réponse Echo reply. L'envoi est répété pour des fins statistiques : déterminer le taux de paquet perdu et le délai moyen. Si d'autres messages ICMP sont reçus de la part de routeurs intermédiaires (comme TTL exceeded, Fragmentation needed, administratively prohibited…), ils sont affichés à l'écran. Quand le paramètre TTL (Time to Live) est affiché, il permet d'estimer le nombre de routeurs intermédiaires.

Un délai élevé et variable ou un taux de paquet perdu non nul peut s'expliquer par un problème de congestion dans le réseau, un problème de qualité sur un lien ou un problème de performance affectant le système cible.

Des commandes avancées de ping permettent d'effectuer le test avec des tailles de paquets variables et de le répéter un certain nombre de fois. Il est parfois possible de lancer de nombreux paquets sans attendre de réponse (flood ping), ce qui peut constituer une attaque par déni de service si la machine de destination ou le réseau intermédiaire est submergé.

Certains pare-feux bloquent les paquets ICMP Echo, rendant la commande inopérante.

Histoire[modifier | modifier le code]

Mike Muuss a écrit ce programme en décembre 1983 pour déboguer un comportement anormal sur réseau IP. Le nom est tiré de l'onomatopée décrivant le son émis par un sonar puisque leur action est similaire (émission d'un signal qui vient rebondir sur une cible pour revenir à l'envoyeur). Par la suite, David L. Mills a fourni un rétro-acronyme : « Packet InterNet Groper ».

Exemples[modifier | modifier le code]

Exemple de ping sous Windows, vers l'adresse IP du serveur DNS de Wikipédia :

C:\>ping 91.198.174.225

Ping 91.198.174.225 avec 32 octets de données :

Réponse de 91.198.174.225 : octets=32 temps<10ms TTL=53
Réponse de 91.198.174.225 : octets=32 temps<10ms TTL=53
Réponse de 91.198.174.225 : octets=32 temps<10ms TTL=53
Réponse de 91.198.174.225 : octets=32 temps<10ms TTL=53

Exemple de ping sous Linux, vers fr.wikipedia.org :

$ ping fr.wikipedia.org
PING r, r.knams.wikimedia.org (145.97.39.137): 56 data bytes
64 bytes from 145.97.39.137: icmp_seq=0 ttl=53 time=51.9 ms
64 bytes from 145.97.39.137: icmp_seq=1 ttl=53 time=16.9 ms
64 bytes from 145.97.39.137: icmp_seq=2 ttl=53 time=16.7 ms

--- rr.knams.wikimedia.org ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 16.7/28.5/51.9 ms

fping est similaire à ping et dispose d'options supplémentaires et permet de tester de nombreuses cibles simultanément.

Exemple de (f)ping(6) sous Linux, vers une adresse IPv6 :

$ fping6 fe80::211:d8ff:fe25:2092
fe80::211:d8ff:fe25:2092 is alive

Autre exemple de (f)ping(6) sous Linux, vers une adresse IPv6 :

$ fping6 -c 2 -e fe80::211:d8ff:fe25:2092
fe80::211:d8ff:fe25:2092 : [0], 64 bytes, 0.06 ms (0.06 avg, 0% loss)
fe80::211:d8ff:fe25:2092 : [1], 64 bytes, 0.06 ms (0.06 avg, 0% loss)

fe80::211:d8ff:fe25:2092 : xmt/rcv/%loss = 2/2/0%, min/avg/max = 0.06/0.06/0.06

Autres utilisations du terme[modifier | modifier le code]

Le terme ping est parfois utilisé comme synonyme de Round trip time dans le jeu en ligne. Dans les jeux fortement interactifs, un délai élevé (désigné par lag ou latence) peut constituer un désavantage pour un joueur.

Certains autres protocoles de la couche application utilisent le nom ping quand il s'agit de déterminer un délai avec une cible. Sur la plupart des clients IRC par exemple, la commande /ping pour connaître le temps de réponse d'un utilisateur ou d'un salon de discussion.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]