Internet Control Message Protocol
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.
Pile de protocoles
Application
Présentation
Session
Transport
Réseau
Liaison de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.)
Physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans un sens général...)
Modèle OSI

Internet Control Message Protocol (Internet Control Message Protocol est l'un des protocoles fondamentaux constituant la suite de protocoles Internet. Il est utilisé pour véhiculer des messages de contrôle et d'erreur pour cette suite de protocoles, par exemple...) est l'un des protocoles fondamentaux constituant la suite de protocoles Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en utilisant le protocole de communication...). Il est utilisé pour véhiculer des messages de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) et d'erreur pour cette suite de protocoles, par exemple lorsqu'un service ou un hôte est inaccessible.

ICMP se situe au même niveau que le protocole IP bien qu'il ne fournisse pas les primitives de service habituellement associées à un protocole de couche réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit filet), on...). Son utilisation est habituellement transparente du point (Graphie) de vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) des applications et des utilisateurs présents sur le réseau.

Cet article traite d'ICMP version 4 qui accompagne IPv4 (L'Internet Protocol version 4 ou IPv4 est la première version d'IP à avoir été largement déployée, et forme encore la base (en 2007) de l'Internet. Elle est décrite dans la RFC numéro 791 (RFC 791).). Pour la version 6, voir Internet Control Message Protocol V6.

Présentation

ICMP (Internet Control Message Protocol - Protocole de message de contrôle sur Internet) est un protocole de niveau 3 sur le modèle OSI, qui permet le contrôle des erreurs de transmission. En effet, comme le protocole IP ne gère que le transport (Le transport est le fait de porter quelque chose, ou quelqu'un, d'un lieu à un autre, le plus souvent en utilisant des véhicules et des voies...) des paquets et ne permet pas l'envoi de messages d'erreur, c'est grâce à ce protocole qu'une machine émettrice peut savoir qu'il y a eu un incident de réseau. Il est détaillé dans la RFC 792.

Format d'un paquet ICMP

Bien qu'il soit à un niveau équivalent au protocole IP (si l'on tente de rapprocher le modèle OSI au modèle TCP/IP), un paquet ICMP est néanmoins encapsulé dans un datagramme IP. Dans le cadre de l'IPv4, la forme génerale d'un tel paquet est la suivante:

Bit 0 - 7 Bit 8 - 15 Bit 16 - 23 Bit 24 - 31
Version/IHL Type de service Longueur (La longueur d’un objet est la distance entre ses deux extrémités les plus éloignées. Lorsque l’objet est filiforme ou en forme de lacet, sa longueur est celle de l’objet...) totale
Identification (fragmentation) flags et offset (fragmentation)
Durée de vie(TTL) Protocole Somme de contrôle de l'en-tête
Adresse IP (Une adresse IP (avec IP pour Internet Protocol) est le numéro qui identifie chaque ordinateur connecté à Internet, ou plus généralement et...) source
Adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour qu'il n'y ait pas...) IP destination
Type de message Code Somme de contrôle
Bourrage ou données
Données (optionnel et de longueur variable)

Un tel datagramme est composé :

  • d'un en-tête IP (en bleu), avec Protocole valant 1 et Type de Service valant 0.
  • du type de message ICMP (8 bits)
  • du code de l'erreur (8 bits)
  • d'une somme de contrôle (16 bits), calculée sur la partie spécifique à ICMP (sans l'en-tête IP)
  • d'une partie aménagée pour des données relatives aux différents types de réponses (32 bits) , si elle n'est pas utilisée, on procède à un bourrage (cette partie peut correspondre aux Identifiant (En informatique, on appelle identifiants (également appelé parfois en anglais login) les informations permettant à une personne de s'identifier...) et Numéro de séquence pour un paquet de type Ping (Ping (acronyme de Packet INternet Groper) est le nom d'une commande informatique (développée par Mike Muuss) permettant d'envoyer une requête ICMP 'Echo' d'une machine à une autre...) par exemple, pour plus d'informations se référer à la RFC[1])
  • du message

Les différents incidents possibles sont reportés ci-dessous, avec le code d'erreur correspondant.

Les différents types

Type 0 (réponse echo)

Type : 0
Code : 0
Message : réponse d'ECHO (echo-reply)
Signification : réponse au message de type 8

Type 3 (destinataire inaccessible)

Type : 3
Code : 0 à 11
Message : destinataire inaccessible
Le code dépend de la cause du problème, respectivement :

  • 0 : le réseau n'est pas accessible
  • 1 : la machine n'est pas accessible
  • 2 : le protocole n'est pas accessible
  • 3 : le port n'est pas accessible
  • 4 : fragmentation nécessaire mais impossible à cause du drapeau (flag) DF
  • 5 : le routage (En informatique, le terme routage désigne le mécanisme par lequel les données d'un équipement expéditeur sont acheminées jusqu'à leur destinataire en examinant les...) a échoué
  • 6 : réseau inconnu
  • 7 : machine inconnue
  • 8 : machine non connectée au réseau (inutilisé)
  • 9 : communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la...) avec le réseau interdite
  • 10 : communication avec la machine interdite
  • 11 : réseau inaccessible pour ce service
  • 12 : machine inaccessible pour ce service
  • 13 : communication interdite (filtrage)
  • 14 : priorité d'hôte violé
  • 15 : limite de priorité atteinte

Type 4 (extinction de la source)

Type : 4
Code : 0
Message : extinction (D'une manière générale, le mot extinction désigne une action consistant à éteindre quelque chose. Plus particulièrement on retrouve ce terme dans...) de la source (source quench)

Type 5 (redirection)

Type : 5
Code : 0 à 3
Message : redirection pour

  • un hôte
  • un hôte et un service
  • un réseau
  • un réseau et un service

Signification : le routeur (Un routeur est un élément intermédiaire dans un réseau informatique assurant le routage des paquets. Son rôle est de faire transiter...) remarque que la route (Le mot « route » dérive du latin (via) rupta, littéralement « voie brisée », c'est-à-dire creusée dans la roche, pour ouvrir le chemin.) qu'a choisi l'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant...) émetteur n'est pas optimale car le prochain routeur à passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) pour atteindre le destinataire se trouve sur le même réseau que celui de ordinateur émetteur. Le routeur envoie l'adresse du prochain routeur à ajouter dans la table de routage (Les tables de routage contiennent les informations indispensables à l'acheminement des datagrammes à travers les réseaux informatiques. Chaque machine connectée à l'Internet possède sa table de routage : des plus...) de l'ordinateur émetteur de façon à ce que le prochain envoi vers le même destinataire ne passe pas inutilement par lui.

Type 8 (echo)

Type : 8
Code : 0
Message : demande d'ECHO (echo-request)
Signification : demande de renvoi d'informations, avec la commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un souhait impératif.) ping par exemple

Type 11 (temps dépassé)

Type : 11
Code : 0 ou 1
Message : temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) dépassé ou temps de ré-assemblage des fragments d'un datagramme dépassé
Signification : ce message est envoyé lorsque le temps de vie (La vie est le nom donné :) d'un datagramme ou le temps de réassemblage des parties d'un datagramme est dépassé. L'en-tête du datagramme est renvoyé pour que l'utilisateur sache quel datagramme a été détruit

Type 12 (en-tête erronné)

Type : 12
Code : 0
Message : en-tête erronné
Signification : ce message est envoyé lorsqu'un champ (Un champ correspond à une notion d'espace défini:) d'un en-tête est erronné. La position de l'erreur est retournée

Type 13 (demande heure)

Type : 13
Code : 0
Message : timestamp request
Signification : une machine demande à une autre son heure (L’heure est une unité de mesure du temps. Le mot désigne aussi la grandeur elle-même, l'instant (l'« heure qu'il est »), y compris en sciences (« heure solaire »...) et sa date système (universelle)

Type 14 (réponse heure)

Type : 14
Code : 0
Message : timestamp reply
Signification : la machine réceptrice donne son heure et sa date système afin que la machine émettrice puisse déterminer le temps de transfert des données

Type 15 (demande adresse IP)

Type : 15
Code : 0
Message : demande d'adresse réseau
Signification : ce message permet de demander au réseau une adresse IP

Type 16 (réponse adresse IP)

Type : 16
Code : 0
Message : réponse d'adresse réseau
Signification : ce message répond au message précédent

Type 17 (demande masque sous-réseau)

Type : 17
Code : 0
Message : demande de masque de sous-réseau (Un masque de sous-réseau permet d'identifier un sous-réseau.)
Signification : ce message permet de demander au réseau un masque de sous-réseau (Le mot sous-réseau a deux significations. Sa signification ancienne mais plus générale est un réseau (Réseau informatique) physique faisant parti d'un...)

Type 18 (réponse masque sous-réseau)

Type : 18
Code : 0
Message : réponse de masque de sous-réseau
Signification : ce message répond au message précédent

Failles dans le protocole ICMP

Failles de Fernando Gont

L'argentin Fernando Gont, professeur, administrateur système et chercheur (Un chercheur (fem. chercheuse) désigne une personne dont le métier consiste à faire de la recherche. Il est difficile de bien cerner le métier de chercheur...) en réseau, a découvert en août 2004 plusieurs failles de sécurité dans le protocole ICMP. Il a tenté d'alerter les organismes concernés (auteurs de système d'exploitation comme Microsoft Windows (Windows (littéralement « Fenêtres » en anglais) est une gamme de systèmes d’exploitation produite par Microsoft, principalement destinés aux ordinateurs compatibles PC. C’est le...) ou Linux), mais également Cisco Systems (Cisco Systems, Inc. est une entreprise informatique américaine qui vendait, à l’origine, uniquement du matériel réseau (routeur et...) (qui vend, entre autres, des routeurs), mais tous n'ont pas répondu, et Cisco a même tenté de breveter ces failles.

Parmi les failles, on peut citer :

  • Les messages ICMP de type 3 pour les codes 2 ou 3 (voir aussi code 4) peuvent clore une connexion TCP
  • Un envoi répété de message ICMP de type 4 (code 0) ralentit grandement le débit (Un débit permet de mesurer le flux d'une quantité relative à une unité de temps au travers d'une surface quelconque.) d'une connexion
  • Le message ICMP de type 3 pour le code 4 ralentit une connexion en passant le MTU au minimum (68 octets) puis en l'augmentant progressivement

ICMP Redirect

Les messages ICMP de type 5 (redirection) peuvent être utilisés de manière malhonnête pour traverser un pare-feu. L'attaque consiste à faire passer un ordinateur par un chemin détourné qui va éviter le pare-feu. La solution consiste à configurer l'ordinateur pour ignorer ce genre de message.

Page générée en 0.104 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique