Découvrir réellement le ping

J’en ai marre de voir les administrateurs utiliser cette commande à longueur de journée sans même comprendre ce qu’elle fait réellement, ou ce qu’elle est.

TCP/IP ?

Oui et non. Le protocole TCP/IP couvre plusieurs autres protocoles… Et par plusieurs protocoles ils font comprendre « plusieurs CENTAINES de protocoles.

Si on veut être précis, la commande ping appartient à la suite ICMP, comme tracert par exemple.

ICMP, TCP/IP on s’en fou …

Pour taper sur le clavier et voir « reply from … » oui.
Si maintenant on veut savoir pourquoi ça marche ou non, pourquoi les débits annoncés peuvent varier, ça semble important.

Le protocole a une priorité faible, du coup certains équipements réseau les font passer après d’autres paquets plus urgents, d’où un temps de réponse qui peut varier.

Un petit tours dans les options utiles ?

Commençons par voir quelques options.

-a

Utile pour vérifier que le nom de la cible soit bien résolu niveau DNS.
Ça peut permettre aussi de détecter un doublon ou un CNAME qui serait présent dans le DNS.

La différence avec le ping standard est visible ligne 1.
Ca marche aussi en ne mettant le nom au lieu de l’IP.

-t

Le ping ne s’arrête pas. Chez Windows c’est une option, sur une distribution GNU/Linux c’est la base.

Commande utile pour vérifier qu’un serveur redevienne disponible après un redémarrage ou une action sur la configuration réseau.

-4 et -6

Ces deux options force l’utilisation de IPv4 ou IPv6.

-l 0 à 65500

Permets de définir la quantité de données envoyée lors de la requête.

Et sinon, ça fait quoi un ping ?

Pour voir ce que fait un ping, rien de plus simple.
On lance wireshark et on regarde ce qui se passe.

Première chose à remarquer, on peut voir que chaque « request » obtient une réponse, ce qui fait quatre tentatives de joindre la cible. Comme visible sur les fenêtres de ping standards.

Regardons maintenant en profondeur le contenu de la trame.

Voici la partie request :

Voici la partie reply :

Quelque chose vous saute aux yeux ?
Bravo, la suite de caractères qui est presque l’alphabet !

Il s’agit enfaîte de la « data » du « 32 bytes of data ».

Data (32 bytes)

Donc c’est simple, la commande ping envoi 32 bytes de données et attends en réponse la même valeur.

Voilà, maintenant que vous savez ce que fait réellement cette commande, vous pouvez l’utiliser !