Ping et Traceroute : Outils de diagnostic réseau essentiels pour le dépannage
· 12 min de lecture
Table des matières
- Comprendre Ping : Les fondements des tests réseau
- Utilisation de base de Ping et interprétation
- Options avancées de Ping pour utilisateurs expérimentés
- Explorer Traceroute : Cartographier les chemins réseau
- Traceroute sur différentes plateformes
- Utiliser MTR pour la surveillance réseau continue
- Interpréter les résultats de diagnostic : Ce que signifient les chiffres
- Problèmes réseau courants et comment les diagnostiquer
- Outils de diagnostic réseau supplémentaires
- Meilleures pratiques pour le dépannage réseau
- Questions fréquemment posées
- Articles connexes
Les problèmes de connectivité réseau peuvent paralyser complètement la productivité. Que vous soyez administrateur système gérant une infrastructure d'entreprise, développeur déboguant des délais d'attente d'API, ou utilisateur domestique confronté à des vitesses Internet lentes, comprendre comment diagnostiquer les problèmes réseau est une compétence essentielle.
Ce guide complet explore les outils en ligne de commande les plus puissants pour le diagnostic réseau : ping, traceroute et MTR. Vous apprendrez non seulement comment utiliser ces outils, mais aussi comment interpréter leurs résultats et appliquer ces connaissances pour résoudre des problèmes de connectivité réels.
Comprendre Ping : Les fondements des tests réseau
Ping est l'outil de diagnostic réseau le plus fondamental disponible sur pratiquement tous les systèmes d'exploitation. Il fonctionne en envoyant des paquets de requête d'écho Internet Control Message Protocol (ICMP) à un hôte cible et en attendant le retour des paquets de réponse d'écho.
Le nom « ping » vient de la terminologie sonar des sous-marins — tout comme le sonar envoie des ondes sonores et écoute les échos pour détecter des objets, la commande ping envoie des paquets et écoute les réponses pour détecter les hôtes réseau et mesurer leur réactivité.
Comment fonctionne Ping en coulisses
Lorsque vous exécutez une commande ping, plusieurs choses se produisent en succession rapide :
- Votre ordinateur construit un paquet de requête d'écho ICMP avec un identifiant unique et un numéro de séquence
- Le paquet traverse votre pile réseau, sort par votre interface réseau et traverse Internet jusqu'à la destination
- L'hôte de destination reçoit le paquet et renvoie une réponse d'écho ICMP
- Votre ordinateur reçoit la réponse et calcule le temps d'aller-retour (RTT) — le temps total écoulé entre l'envoi et la réception
- Ce processus se répète, généralement une fois par seconde, jusqu'à ce que vous l'arrêtiez
Le temps d'aller-retour est crucial car il impacte directement les performances des applications. Le chargement d'une page web, le streaming d'une vidéo ou un appel vidéo dépendent tous d'une faible latence pour un fonctionnement fluide.
Ce que Ping vous indique
Un test ping réussi fournit plusieurs métriques clés :
- Accessibilité : Votre ordinateur peut-il atteindre l'hôte cible ?
- Latence : Combien de temps faut-il aux paquets pour faire l'aller-retour ?
- Perte de paquets : Des paquets ne reviennent-ils pas ?
- Cohérence : La latence est-elle stable ou très variable ?
Conseil de pro : Ping est souvent le premier outil de diagnostic que vous devriez utiliser lors du dépannage de connectivité. Si ping échoue, des outils plus complexes ne vous aideront pas tant que vous n'aurez pas résolu le problème de connectivité de base.
Utilisation de base de Ping et interprétation
La façon la plus simple d'utiliser ping est avec juste un nom d'hôte ou une adresse IP. Ouvrez votre terminal ou invite de commande et essayez :
# Ping un nom de domaine
ping example.com
# Ping une adresse IP
ping 8.8.8.8
# Ping votre routeur local (adresses de passerelle courantes)
ping 192.168.1.1
Vous pouvez tester votre connectivité réseau dès maintenant en utilisant notre Outil Ping sans rien installer.
Lire la sortie de Ping
Une réponse ping typique ressemble à ceci :
PING example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=12.4 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.8 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=12.1 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=13.2 ms
--- example.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 11.8/12.4/13.2/0.5 ms
Décomposons ce que signifie chaque composant :
| Composant | Signification | Ce qu'il faut rechercher |
|---|---|---|
64 bytes |
Taille du paquet de réponse | Doit correspondre à la taille de la requête (par défaut 56-64 octets) |
icmp_seq |
Numéro de séquence du paquet | Doit s'incrémenter de 1 ; les écarts indiquent une perte de paquets |
ttl |
Time To Live - sauts restants | Des valeurs plus faibles suggèrent plus de sauts réseau |
time |
Temps d'aller-retour en millisecondes | Plus bas est mieux ; la cohérence compte |
packet loss |
Pourcentage de paquets qui ne sont pas revenus | Devrait être 0% ; tout ce qui dépasse 1% nécessite une investigation |
min/avg/max |
Statistiques de latence | De grandes différences suggèrent une instabilité réseau |
Références de latence
Comprendre ce qui constitue une « bonne » latence dépend du contexte :
- 1-10ms : Excellent - typique pour un réseau local ou des serveurs proches
- 10-50ms : Bon - normal pour les connexions régionales
- 50-100ms : Acceptable - courant pour les connexions transcontinentales
- 100-200ms : Notable - peut affecter les applications en temps réel
- 200ms+ : Médiocre - impactera significativement l'expérience utilisateur
Options avancées de Ping pour utilisateurs expérimentés
Ping offre de nombreuses options en ligne de commande qui débloquent de puissantes capacités de diagnostic. Voici les indicateurs les plus utiles et quand les utiliser :
Contrôler le nombre de paquets
Par défaut, ping s'exécute indéfiniment jusqu'à ce que vous l'arrêtiez avec Ctrl+C. L'indicateur -c (ou -n sur Windows) limite le nombre de paquets :
# Envoyer exactement 10 pings
ping -c 10 example.com
# Test de connectivité rapide avec seulement 3 pings
ping -c 3 8.8.8.8
Ceci est essentiel pour les scripts et la surveillance automatisée où vous avez besoin de temps d'exécution prévisibles.
Ajuster la taille des paquets
L'indicateur -s modifie la taille du paquet, utile pour tester les problèmes de MTU (Maximum Transmission Unit) ou simuler différentes conditions réseau :
# Envoyer des paquets de 1000 octets
ping -s 1000 example.com
# Tester la taille maximale de paquet (1472 octets + en-tête de 28 octets = MTU de 1500)
ping -s 1472 example.com
# Tester les problèmes de fragmentation
ping -s 1500 -M do example.com
Astuce rapide : Si les gros paquets échouent mais que les petits réussissent, vous avez probablement une incompatibilité MTU quelque part dans le chemin. Cela cause couramment des problèmes avec les VPN et les connexions tunnelisées.
Définir les valeurs de délai d'attente
L'indicateur -W définit combien de temps attendre une réponse avant de considérer un paquet comme perdu :
# Attendre jusqu'à 2 secondes pour chaque réponse
ping -W 2 example.com
# Délai d'attente rapide pour une détection rapide des échecs
ping -W 1 -c 5 unreachable-host.com
Ajuster l'intervalle de Ping
L'indicateur -i contrôle le temps entre l'envoi de paquets :
# Envoyer un ping toutes les 0,2 secondes (nécessite root/admin)
sudo ping -i 0.2 example.com
# Envoyer un ping toutes les 5 secondes pour une surveillance à long terme
ping -i 5 example.com
Notez que les intervalles inférieurs à 0,2 secondes nécessitent généralement des privilèges d'administrateur et doivent être utilisés avec prudence pour éviter d'inonder le réseau.
Flood Ping pour les tests de stress
L'indicateur -f envoie des paquets aussi rapidement que possible (nécessite des privilèges root/admin) :
# Flood ping (à utiliser de manière responsable !)
sudo ping -f example.com
Avertissement : Le flood ping peut submerger les réseaux et peut être considéré comme une attaque par déni de service. Utilisez-le uniquement sur des réseaux que vous possédez ou pour lesquels vous avez une permission explicite de tester.
Scénarios pratiques de Ping
Voici des exemples concrets combinant plusieurs options :
# Tester si un serveur est actif avec un test rapide de 3 paquets
ping -c 3 -W 1 production-server.com
# Surveiller la stabilité de la connexion pendant 5 minutes
ping -c 300 -i 1 example.com > ping-results.txt
# Tester les problèmes de fragmentation de paquets
ping -s 1472 -M do -c 10 example.com
# Diagnostiquer une connectivité intermittente avec une surveillance étendue
ping -i 0.5 -c 1000 problematic-host.com | grep -E "time=|loss"
Explorer Traceroute : Cartographier les chemins réseau
Alors que ping vous indique si vous pouvez atteindre une destination et combien de temps cela prend, traceroute vous montre le chemin exact que vos paquets empruntent pour y arriver. Il révèle chaque routeur (saut) le long du chemin et mesure la latence vers chacun d'eux.
Ceci est inestimable lorsque ping montre des problèmes mais que vous devez savoir où dans le chemin réseau le problème se produit.
Comment fonctionne Traceroute
Traceroute utilise une technique astucieuse impliquant le champ TTL (Time To Live) dans les paquets IP :
- Il envoie un paquet avec TTL=1, qui expire au premier routeur
- Ce routeur renvoie un message ICMP « Time Exceeded », révélant son identité
- Traceroute envoie ensuite un paquet avec TTL=2, qui atteint le deuxième routeur avant d'expirer
- Ce processus continue, incrémentant le TTL jusqu'à ce que la destination soit atteinte
- Pour chaque saut, traceroute envoie généralement trois paquets pour mesurer la cohérence de la latence
Le résultat est une carte complète du chemin réseau de votre ordinateur à la destination.
Utilisation de base de Traceroute
# Tracer la route vers un domaine
traceroute example.com
# Tracer la route vers une adresse IP
traceroute 8.8.8.8
# Tracer la route avec une sortie plus détaillée
traceroute -v example.com
Vous pouvez effectuer un traceroute directement dans votre navigateur en utilisant notre Outil Traceroute.
Comprendre la sortie de Traceroute
Un traceroute typique ressemble à ceci :
traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets
1 router.local (192.168.1.1) 1.234 ms 1.156 ms 1.089 ms
2 10.0.0.1 (10.0.0.1) 8.456 ms 8.234 ms 8.123 ms
3 isp-gateway.net (203.0.113.1) 12.345 ms 12.234 ms 12.456 ms
4 core-router-1.isp.net (203.0.113.50) 15.678 ms 15.567 ms 15.789 ms
5 * * *
6 peer-exchange.net (198.51.100.1) 28.901 ms 28.789 ms 28.912 ms
7 example-edge.net (93.184.216.1) 32.123 ms 32.045 ms 32.234 ms
8 example.com (93.184.216.34) 33.456 ms 33.345 ms 33.567 ms
Chaque ligne représente un saut (routeur) dans le chemin :
- Le numéro indique le nombre de sauts (distance depuis votre ordinateur)
- Le nom d'hôte et l'adresse IP identifient le routeur
- Trois mesures de temps montrent le temps d'aller-retour pour chacun des trois paquets de sonde
- Les astérisques (
* * *) indiquent que ce saut n'a pas répondu (souvent en raison de règles de pare-feu)
Ce qu'il faut rechercher dans les résultats de Traceroute
Lors de l'analyse de la sortie de traceroute, surveillez ces modèles :
- Sauts soudains de latence : Une augmentation importante entre des sauts consécutifs indique un lien lent ou un point de congestion
- Temps incohérents : Une grande variation dans les trois mesures suggère une instabilité réseau
- Délais d'attente en milieu de route : Des astérisques au milieu de la trace (pas à la fin) peuvent indiquer un routeur problématique
- Sauts géographiques : Les noms d'hôtes révèlent souvent l'emplacement ; un routage inattendu peut expliquer une latence élevée
- Modèles de perte de paquets : Si un saut montre une perte mais que les sauts suivants ne le font pas, le problème est probablement à ce routeur spécifique
Conseil de pro : Ne paniquez pas si vous voyez des astérisques dans la sortie de traceroute. De nombreux routeurs sont configurés pour ne pas répondre aux sondes traceroute pour des raisons de sécurité, mais ils transmettent quand même votre trafic normalement. Si la destination finale répond, le chemin fonctionne.
Traceroute sur différentes plateformes
Les implémentations de traceroute varient légèrement selon les systèmes d'exploitation. Comprendre ces différences vous aide à utiliser le bon outil pour votre plateforme.
Linux et macOS : traceroute
Les systèmes de type Unix utilisent la commande traceroute avec des paquets UDP par défaut :
# Traceroute de base
traceroute example.com
# Utiliser ICMP au lieu d'UDP (plus susceptible de réussir à travers les pare-feu)
traceroute -I example.com
# Définir le nombre maximum de sauts
traceroute -m 20 example.com
# Utiliser des paquets TCP SYN (utile pour tracer vers des serveurs web)
sudo traceroute -T -p 443 example.com
Windows : tracert
Windows utilise tracert avec des paquets ICMP par défaut :
# Tracert de base
tracert example.com
# Ne pas résoudre les noms d'hôtes (plus rapide)
tracert -d example.com
# Définir le maximum de sauts
tracert -h 20 example.com
# Définir le délai d'attente par saut
tracert -w 1000 example.com
Options avancées de Traceroute
| Option | Linux/macOS | Windows | Objectif |
|---|---|---|---|
| Utiliser ICMP |