
Qu'est-ce que IP et ICMP : Rôles et différences
IP (Internet Protocol) transporte les paquets d'un point à un autre, mais il n'embarque pas de mécanisme de retour pour dire « ça a mal fonctionné ». C'est pour cela qu'ICMP existe : il complète IP en informant l'expéditeur ou les équipements réseau d'erreurs ou d'états particuliers.
- ICMP signifie Internet Control Message Protocol.
- C'est un protocole de couche réseau (couche 3 du modèle OSI) encapsulé directement dans IP ; son numéro de protocole dans IPv4 est 1.
- Son objectif principal est de signaler des erreurs et d'indiquer des états réseau, pas de transporter des données applicatives.
Exemples concrets de ce qu'ICMP signale :
- Hôte injoignable : quand un routeur ou une machine ne peut livrer le paquet à sa destination.
- TTL expiré : quand un paquet a atteint son nombre maximal de sauts et est détruit (utile pour tracer un parcours).
- Fragmentation nécessaire / Path MTU : quand un paquet est trop grand pour un lien et doit être ajusté.
Pourquoi ICMP n'a pas de "port" : contrairement à TCP ou UDP, ICMP n'est pas un protocole de transport pour sessions ou applications. Il contrôle et observe IP lui-même ; les notions de ports applicatifs n'ont donc pas de sens pour ICMP.
ICMP et IPv6 : ICMPv6 va plus loin que le rôle de diagnostic. Il intègre NDP (Neighbor Discovery Protocol), qui remplace ARP pour la résolution d'adresses, la découverte des routeurs et certaines fonctions d'autoconfiguration. Bloquer ICMPv6 de façon indiscriminée peut empêcher une machine IPv6 de découvrir ses voisins ou sa passerelle et ainsi « casser » la connectivité.
Risques et abus courants :
- Attaques par inondation de requêtes Echo (Ping Flood) visant à saturer une cible.
- Utilisation d'ICMP pour cartographier un réseau avant une attaque.
- Filtrage trop agressif d'ICMP provoquant des effets négatifs réels (p. ex. problèmes de Path MTU, diagnostics impossibles).
Pour un utilisateur, cela se traduit par des sites inaccessibles, des sessions qui se figent ou de mauvaises mesures de latence. Pour un administrateur, ICMP est un outil de diagnostic précieux mais aussi un vecteur à surveiller.

Types de messages ICMP et interprétation des codes
Un message ICMP se compose essentiellement d'un type, d'un code, d'une somme de contrôle et de données complémentaires qui varient selon le type. Le paquet ICMP est encapsulé dans l'en-tête IP et sert à rapporter l'état du réseau plutôt qu'à corriger le trafic.
Types et usages essentiels (versions IPv4) :
- Echo Request (type 8) / Echo Reply (type 0)
- Base de l'outil ping : envoyer une requête et attendre la réponse pour mesurer latence et disponibilité.
- Destination Unreachable (type 3)
- Signale qu'une destination ne peut être atteinte ; le code associé précise la raison (ex. réseau inaccessible, hôte inaccessible, protocole non supporté, fragmentation nécessaire).
- Time Exceeded (type 11)
- Indique que le TTL (Time To Live) a expiré. Traceroute utilise cette propriété en envoyant des paquets avec des TTL successifs pour obtenir des Time Exceeded de chaque saut.
- Fragmentation Needed (un cas de Destination Unreachable)
- Indique qu'un lien sur le chemin ne peut accepter le paquet dans sa taille actuelle ; essentiel pour la découverte du Path MTU.
Outils pratiques basés sur ICMP :
- Ping : vérifie si une machine répond, estime la latence, signale des pertes de paquets.
- Traceroute : localise le(s) saut(s) où une communication échoue en exploitant Time Exceeded.
Limites pratiques : de nombreux pare-feux ou équipements peuvent filtrer, limiter ou modifier les réponses ICMP. Les résultats de ping/traceroute peuvent donc être incomplets ou trompeurs si un routeur refuse de répondre aux messages ICMP.
ICMPv6 et NDP (IPv6) :
- ICMPv6 gère les fonctions de diagnostic ainsi que les opérations de découverte de voisins et de routeurs via NDP.
- NDP remplace ARP et assure la résolution d'adresse, l'annonce de routeurs et certaines options d'autoconfiguration.
- Bloquer ICMPv6 ou supprimer certains types de messages ICMPv6 peut empêcher l'autoconfiguration IPv6 et la communication normale entre hôtes.
Sécurité et bonnes pratiques d'interprétation :
- Si vous observez un grand nombre d'Echo Request d'origine inconnue, il peut s'agir d'un scan ou d'une tentative d'inondation.
- Les messages Destination Unreachable indiquent souvent des problèmes de routage, d'adressage ou de MTU ; regardez le code pour préciser la cause.
- Si traceroute cesse de répondre à un certain saut, cela peut signifier que ce routeur ne renvoie pas de Time Exceeded ou que le trafic subsequent est filtré ; cela ne prouve pas forcément une panne au-delà.
Interpréter un résultat demande prudence : absence de réponse ICMP n'est pas toujours synonyme de panne, mais peut être le résultat d'une politique de sécurité.
Outils et commandes pour analyser le trafic ICMP
Voici des règles pratiques pour utiliser ICMP sans nuire à la disponibilité, comment diagnostiquer rapidement et quand escalader vers des spécialistes.
Règles de filtrage recommandées
- Évitez de bloquer totalement ICMP. Le rate-limiting (limitation du nombre de messages traités par seconde) est une approche prudente qui réduit le risque d'inondation tout en conservant les fonctions de diagnostic.
- Sur IPv6, ne bloquez pas ICMPv6 de manière générale : certains messages sont nécessaires au fonctionnement normal du protocole (NDP, Path MTU).
- Autorisez explicitement les messages de type Fragmentation Needed / Path MTU pour éviter des connexions dégradées ou impossibles.
Procédure de diagnostic de base (checklist opérationnelle)
- Pinguer la passerelle locale pour vérifier la couche 2/3 locale.
- Pinguer une adresse publique fiable (ex. un serveur DNS) pour vérifier la sortie vers Internet.
- Pinguer un nom de domaine pour vérifier la résolution DNS en combinaison.
- Si ping échoue, lancer traceroute pour repérer le saut où la communication se perd.
- Vérifier les règles de pare-feu et les journaux sur la machine et les équipements réseau si les réponses ICMP sont absentes ou intermittentes.
Mesures de sécurité pratiques
- Appliquer le rate-limiting ICMP sur les équipements périmétriques plutôt que d'interdire complètement ces messages.
- Mettre en place des règles qui bloquent ou isolent les sources identifiées comme malveillantes après analyse, au lieu d'un blocage global.
- Surveiller les modèles d'ICMP : rafales répétées d'Echo Request, augmentation soudaine de Destination Unreachable, ou flux réguliers d'ICMP non attendus sont des signaux à investiguer.
Protocole d'analyse pas à pas du trafic ICMP (résumé actionnable)
- Définir l'objectif de l'analyse (diagnostic, détection de scan, etc.).
- Capturer une période courte et ciblée du trafic ICMP pour limiter le volume (outil type tcpdump avec filtre icmp).
- Trier par type/code pour comprendre la composition des messages.
- Traduire types/codes en causes probables (ex. Type 3 Code X → problème de routage ou MTU).
- Rechercher patterns temporels et volumétriques pour distinguer surveillance normale d'activité anormale.
- Corréler les événements ICMP avec sessions TCP/UDP proches pour évaluer l'impact.
- Décider d'actions : ajustement firewall, rate-limit, correction de route, ou escalade.
- Documenter captures et conclusions pour traçabilité.
- Mettre en place surveillance continue si l'incident se répète.
- Escalader vers l'équipe réseau/sécurité en cas d'attaque ou d'incertitude.
Outils et commandes utiles (exemples sans fournir de scripts complets) :
- ping et traceroute pour tests rapides.
- tcpdump/tshark/Wireshark pour captures et analyse détaillée ; filtrez sur ICMP et limitez la durée.
- Journaux de pare-feu et d'équipement réseau pour vérifier règles et blocages.
Quand faire appel à un professionnel
- Si la connectivité reste dégradée après les vérifications de base.
- Si vous suspectez une attaque DDoS ou une activité malveillante nécessitant une réponse spécialisée.
- Pour des problèmes IPv6 liés à NDP ou Path MTU complexes, ou pour la mise en place correcte de politiques ICMPv6 sur l'infrastructure.

Checklist rapide d'auto-évaluation pour la gestion ICMP
- [ ] Objectif clair : raison de l'analyse définie.
- [ ] Capture ciblée : interface et période limitées.
- [ ] Tri par type/code : catégorisation des messages ICMP observés.
- [ ] Identifier anomalies : pics, rafales ou patterns répétitifs repérés.
- [ ] Corrélation : vérification des connexions TCP/UDP proches des événements ICMP.
- [ ] Mappage type→cause : traduction des types/codes en causes plausibles.
- [ ] Action prévue : ajustement firewall, rate-limit, correction route ou investigation.
- [ ] Sauvegarde des preuves : captures et logs archivés.
- [ ] Surveillance : alertes ou tableaux de bord si nécessaire.
- [ ] Escalade : savoir quand alerter l'équipe réseau/sécurité.
Utilisez cette checklist pour structurer une intervention rapide et reproductible.
Points de vigilance et erreurs à éviter
- Ne confondez pas ICMPv4 avec ARP : ARP est un protocole séparé utilisé en IPv4 pour la résolution d'adresses sur un réseau local ; ICMPv6, lui, intègre la découverte de voisins via NDP.
- Ne bloquez pas ICMP de façon excessive : cela empêche le diagnostic et peut provoquer des problèmes de fragmentation et de Path MTU.
- Méfiez-vous des conclusions hâtives : l'absence de réponse ICMP ne prouve pas automatiquement une panne. Vérifiez les politiques de sécurité et la configuration des routeurs intermédiaires.
- Sur IPv6, le filtrage d'ICMPv6 peut rendre un réseau inutilisable ; les messages NDP et certains diagnostics doivent être autorisés.
Conclusion utile (sans titre)
ICMP est un outil de signalisation indispensable au fonctionnement et au diagnostic des réseaux. Ping et traceroute s'appuient sur lui pour fournir des informations concrètes sur la latence et les chemins réseau, tandis qu'ICMPv6 joue un rôle plus large avec NDP pour IPv6. Pour la sécurité, privilégiez des règles ciblées et du rate-limiting plutôt qu'un blocage complet. En cas de doute ou d'attaque potentielle, faites appel aux équipes réseau ou sécurité qualifiées pour l'analyse approfondie et la mitigation.
Sources pratiques et lecture complémentaire
- Définition technique et rôle d'ICMP : article de synthèse et ressources générales (voir par exemple des références publiques comme Cloudflare ou AWS pour des introductions pratiques).
- Pour la liste des types et codes ICMP et leur interprétation : références techniques standards et documentations RFC historiques sur ICMP/ICMPv6.