2. ARP
« Adress Resolution Protocole »
2
• La communication entre machines ne peut
s’effectuer qu’ travers l’interface physique.
• Rôle de ARP : déterminer l’adresse physique
(adresse MAC) à partir de l’adresse logique
(adresse IP).
• Il se situe à l’interface entre la couche
réseau et la couche de liaison du modèle
OSI.
• Il a été défini dans la RFC 826 : An
Ethernet Address Resolution Protocol.
3. • Le cache ARP ou table ARP est une table de couples adresse IP-
adresse MAC contenue dans la mémoire d'un ordinateur qui utilise
le protocole ARP .
3
Table ARP :
• Certains systèmes d'exploitation permettent de fixer une
association dans le cache ARP de façon permanente.
• Cette table est utilisée par les hôtes pour déterminer l'adresse
MAC d'un autre ordinateur sur le même segment. Les entrées
dans cette table ont une durée de vie limitée.
5. • Soit un ordinateur connecté à un réseau informatique souhaite
émettre une trame Ethernet à un autre ordinateur dont il connaît
l’adresse IP et placé dans le même sous-réseau.
5
Fonctionnement :
• Cetterequêteestdetype: «quelleestl’adresseMACcorrespondantà
l’adresseIP"adresseIP"?».
• Dans ce cas, cet ordinateur va émettre une requête ARP en
Broadcast s’adressant à toutes les hôtes du réseau.
7. • Cetteréponseestdetype: «jesuis"adresseIP",monadresseMAC
est"adresseMAC" ».
7
• Cette machine crée dans son cache ARP une entrée à partir des
données contenues dans la requête ARP qu’il vient de recevoir,
pour donner l’accès à la machine à l’origine d’envoyer le
message qu’elle avait mis en attente.
• La machine qui possède cette adresse IP sera la seule à
répondre (unicast) .
9. Sécurité du protocole ARP :
• Le protocole ARP est vulnérable à des attaques locales
reposant principalement sur l’envoi de messages ARP
erronés à un ou plusieurs ordinateurs.
• Elles sont regroupées sous l’appellation « Pollution de
cache ARP » (« ARP cache poisoning »).
• Cette vulnérabilité dépend de la mise en œuvre du
protocole ARP par son système d’exploitation.
9
10. Exemple:
• Soit une machine C qui souhaite intercepter les messages de A
vers B.
1. C envoyé un paquet « arp who-has » à la machine A : ce
paquet contiendra l’adresse IP de la machine de B et l’adresse
MAC de la machine C.
2. La machine A va ainsi créer une entrée associant notre adresse
MAC à l’adresse IP de la machine de B.
3. A, destinataire de l’« arp who-has », utilise le paquet pour
créer une entrée dans sa table MAC.
10
Si A veut communiquer avec B au niveau IP,
c’est C qui recevra les trames de la machine A puisque notre
adresse MAC du C est enregistrée dans le cache empoisonné
de A.
12. Pour lutter contre ce type d’attaque, il est possible de :
Mettre en place des entrées statiques dans le cache ARP de
chaque machine réseau. Mais ceci n'est possible que pour un
faible nombre de machines et risque de coûter en ressources
humaines.
Limiter les adresses MAC sur chaque port des commutateurs.
Surveiller les messages ARP circulant sur le réseau informatique,
à l'aide d'outils de surveillance .
12
13. Le protocole RARP est essentiellement utilisé pour les stations de
travail n'ayant pas de disque dur et souhaitant connaître leur
adresse logique.
Il permet à une station de connaître son adresse IP à partir d'une
table de correspondance entre adresse MAC et adresses IP située
sur le même réseau local (LAN).
ce protocole est statique => Il faut donc que la table de
correspondance soit toujours à jour pour permettre la connexion
de nouvelles cartes réseau.
13
RARP
« Reverse Adress Resolution
Protocole »
14. • Comme pour ARP, une trame de diffusion Ethernet, contenant
une requête RARP est émise.
• Larequêteestdetype: « Quelleestl'adresseIPcorrespondantàmon
adresseEthernet?».
• Un équipement configuré en serveur RARP envoie une réponse
en unicast.
• Il est possible que plusieurs serveurs RARP existent d'où la
génération de plusieurs réponses à la requête, alors la
première réponse est considérée.
1414
Fonctionnement :
16. 16
Trame ARP/RARP
- type de protocole:
0x0806 pour ARP & 0x0835 pour RARP
d'indiquer quel est le format de l'entête Arp
type de protocole couche 3
Fonction de la trame
17. 17
• La commande « arp » permet la consultation et la modification de la
table ARP dans certains systèmes d’exploitation.
arp -a : affiche toutes les entrées dans la table ARP.
arp -a @ip : dans le cas où il y a plusieurs cartes réseau, on peut faire
l’affichage du cache associé à une seule @IP.
arp -s @ip @MAC : ajout manuel d’une entrée statique permanente
dans la table.
arp -av : permet d’afficher, en mode verbeux, toutes les entrées de
la table ARP.
arp -d <nom_hôte> : permet de supprimer l’entrée relative
à nom_hôte.
Commande ARP
18. • On vient de démarrer le poste d'adresse IP 192.168.1.1 et le
cache ARP est vide :
18
Exemple de manipulation sous
Linux
19. 19
• On fait un Ping vers le poste d'adresse IP 192.168.1.3.
• ARP reçoit une demande de conversion et il consulte sa table qui est vide, alors il
envoie un paquet ARP Request Packet à tous les hôtes du même réseau physique :
20. 20
• La machine possédant l'adresse réseau IP demandée répond en lui renvoyant
un paquet ARP Reply Packet qui contient son adresse physique qui est alors
placée dans la table ARP :