Vous êtes sur la page 1sur 3

Address Resolution Protocol

L'Address resolution protocol (ARP, protocole de rsolution d'adresse) est un protocole effectuant la
traduction d'une adresse de protocole de couche rseau (typiquement une adresse IPv4) en une
adresse MAC (typiquement une adresse ethernet), ou mme de tout matriel de couche de liaison. Il
opre au-dessous de la couche rseau et se situe l'interface entre la couche rseau (couche 3 du
modle OSI) et la couche de liaison (couche 2 du modle OSI).
Il a t dfini dans la RFC 826 : An Ethernet Address Resolution Protocol.
Le protocole ARP est ncessaire au fonctionnement d'IPv4 utilis au-dessus d'un rseau de type
ethernet. Il a t supplant par de nouveaux dispositifs dans IPv6. En IPv6, les fonctions de ARP
sont reprises par Internet Control Message Protocol V6.
Scnario typique de l'utilisation d'ARP
Un ordinateur connect un rseau informatique souhaite mettre une trame ethernet destination
d'un autre ordinateur dont il connat l'adresse IP et plac dans le mme sous rseau. Dans ce cas, cet
ordinateur va placer son mission en attente et effectuer une requte ARP en broadcast. Cette
requte est de type quelle est l'adresse MAC correspondant l'adresse IP adresseIP ? Rpondez
adresseMAC .
Puisqu'il s'agit d'un broadcast, tous les ordinateurs connects au support physique vont recevoir la
requte. En observant son contenu, ils pourront dterminer quelle est l'adresse IP sur laquelle porte
la recherche. La machine qui possde cette adresse IP, sera la seule (du moins si elle est la seule, ce
qui est cens tre le cas dans tout rseau) rpondre en envoyant la machine mettrice une
rponse ARP du type je suis adresseIP, mon adresse MAC est adresseMAC . Pour mettre cette
rponse au bon ordinateur, il cre une entre dans son cache ARP partir des donnes contenues
dans la requte ARP qu'il vient de recevoir.
La machine l'origine de la requte ARP reoit la rponse, met jour son cache ARP et peut donc
envoyer le message qu'elle avait mis en attente jusqu' l'ordinateur concern.
Il suffit donc d'un broadcast et d'un unicast pour crer une entre dans le cache ARP de deux
ordinateurs.
Commande ARP
arp -a : affiche tous les entres dans la cache ARP.
arp -a @ip : dans le cas ou il y a plusieurs cartes rseau, on peut faire l'affichage de la cache
associ une seule @ip.
arp -s @ip @MAC : ajout manuel d'une entre statique permanente dans la cache (ce besoin se
manifeste si on appelle rgulirement des htes, pour rduire le trafic rseau).
Scurit du protocole ARP
Le protocole ARP est vulnrable des attaques locales reposant principalement sur l'envoi de
messages ARP errons un ou plusieurs ordinateurs. Elles sont regroupes sous l'appellation
pollution de cache ARP ( ARP cache poisoning en anglais). La vulnrabilit d'un ordinateur
la pollution de cache ARP dpend de la mise en uvre du protocole ARP par son systme
d'exploitation.
Typiquement une attaque de ce genre consiste envoyer un paquet arp who-has la machine
d'Alice. Ce paquet spcialement forg contiendra, en adresse IP source, l'adresse IP de la machine
de Bob dont nous voulons usurper l'identit (ARP spoofing) et l'adresse MAC de la carte rseau de
notre machine Mallory. La machine d'Alice va ainsi crer une entre associant notre adresse MAC
l'adresse IP de la machine de Bob. Alice, destinataire de l' arp who-has , utilise notre paquet pour
crer une entre dans sa table MAC. Si Alice veut communiquer avec Bob au niveau IP, c'est notre
poste qui recevra les trames de Alice puisque notre adresse MAC est enregistr dans le cache

empoisonn de Alice comme quivalence pour l'IP du poste Bob. Ceci est une faiblesse connue de
la mise en uvre d'ARP et permet de corrompre facilement un cache ARP distant.
Ces attaques peuvent provoquer une coute des communications entre deux machines (MITM ou
Man in the Middle), le vol de connexion, une surcharge des commutateurs servant de structure au
rseau informatique ou un dni de service (il suffit de faire une attaque de type MITM puis de
refuser les paquets).
Pour lutter contre ce type d'attaque, il est possible :
De mettre en place des entres statiques dans le cache ARP de chaque machine du rseau
(commande arp -s). Ceci n'est applicable qu' un faible nombre de machines (privilgier les plus
critiques, comme les serveurs et les passerelles) moins de souhaiter y passer ses jours et ses nuits
(attention cependant au fait que sur les systmes d'exploitation Microsoft Windows antrieurs la
version XP, une entre statique peut tre mise jour, la seule diffrence est qu'elle n'expire pas)
De limiter les adresses MAC sur chaque port (renseignement statique) des commutateurs s'ils le
permettent (fonction Port Security). Les commutateurs de niveau 3 par exemple offrent la
possibilit de paramtrer des associations port/MAC/IP statiques. Mais cela rend videmment plus
difficile la maintenance du parc.
De surveiller les messages ARP circulant sur rseau informatique, l'aide d'outils de surveillance
tels qu'ARPwatch (outil du Network Research Group (NRG), the Information and Computing
Sciences Division (ICSD), Lawrence Berkeley National Laboratory (LBNL)1), d'arpalert2, ou,
d'IDS (Systmes de Dtection d'Intrusion)
Il faut savoir que chaque entre a une dure de vie (cela oblige d'ailleurs l'attaquant corrompre
rgulirement le cache de la victime). Certains Systmes d'exploitation comme Solaris permettent
de modifier la valeur de ce temps d'expiration (commande ndd). Une valeur courte rendra la
corruption plus facilement visible.
En-tte ARP

avec :
Hardware type (type de matriel)
01 - Ethernet (10Mb) [JBP]
02 - Experimental Ethernet (3Mb) [JBP]
03 - Amateur Radio AX.25 [PXK]
04 - Proteon ProNET Token Ring [Doria]
05 - Chaos [GXP]
06 - IEEE 802 Networks [JBP]
07 - ARCNET [JBP]
08 - Hyperchannel [JBP]
09 - Lanstar [TU]
10 - Autonet Short Address [MXB1]
11 - LocalTalk [JKR1]
12 - LocalNet (IBM PCNet or SYTEK LocalNET) [JXM]
13 - Ultra link [RXD2]
14 - SMDS [GXC1]

15 - Frame Relay [AGM]


16 - Asynchronous Transmission Mode (ATM) [JXB2]
17 - HDLC [JBP]
18 - Fibre Channel [Yakov Rekhter]
19 - Asynchronous Transmission Mode (ATM) [RFC2225]
20 - Serial Line [JBP]
21 - Asynchronous Transmission Mode (ATM) [MXB1]
22 - MIL-STD-188-220 [Jensen]
23 - Metricom [Stone]
24 - IEEE 1394.1995 [Hattig]
25 - MAPOS [Maruyama]
26 - Twinaxial [Pitts]
27 - EUI-64 [Fujisawa]
28 - HIPARP [JMP]
29 - IP and ARP over ISO 7816-3 [Guthery]
30 - ARPSec [Etienne]
31 - IPsec tunnel [RFC3456]
32 - InfiniBand (TM) [Kashyap]
33 - TIA-102 Project 25 Common Air Interface (CAI) [Anderson]
Protocol type (Type de protocole)
0x0800 - IP
Ce champ indique quel est le type de protocole couche 3 (OSI) qui utilise Arp.
Hardware Address Length (longueur de l'adresse physique)
01 - Token Ring
06 - Ethernet
Ce champ correspond la longueur de ladresse physique. La longueur doit tre prise en octets.
Protocol Address Length (longueur de l'adresse logique)
04 - IP v4
16 - IP v6
Ce champ correspond la longueur de ladresse rseau. La longueur doit tre prise en octets.
Operation
01 - Request [RFC 826] requte
02 - Reply [RFC 826] rponse
Ce champ permet de connatre la fonction du message et donc son objectif.
Sender Hardware Address (adresse physique de lmetteur)
Adresse MAC source dans le cadre d'Ethernet.
Sender Internet Address (adresse rseau de lmetteur)
Adresse IP de source dans le cadre de TCP/IP
Target Hardware Address (adresse physique du destinataire)
Adresse MAC destination dans le cadre d'Ethernet . Si cest une demande Arp, alors, ne connaissant
justement pas cette adresse, le champ sera mis 1 (c'est un broadcast de niveau 2)
Target Internet Address (adresse rseau du destinataire)
Adresse IP de destination dans le cadre de TCP/IP

Vous aimerez peut-être aussi