ARP/RARP
Introduction:
• Adresse IP:
– Numéro d’identification attribué à chaque appareil connecté à un
réseau utilisant l’Internet Protocol
– Peut être permanente ou provisoire
– Exemple: [Link]
• Adresse MAC:
– un identifiant physique stocké dans une carte réseau ou une interface
réseau
– attribué mondialement (c’est une adresse unique)
– Exemple: 00.5a.f6.22.97.12
2
Pourquoi chercher l’adresse physique
d’une machine dont on connaît l’adresse
IP?
3
Introduction:
• La transmission des datagrammes IP sur le réseau
physique nécessite que ces datagrammes soient
encapsulés dans des trames de couche de liaison de
données.
• Les trames de couche de liaison de données, telles
que les trames Ethernet doivent contenir des
adresses matérielles.
4
Comment connaître l’adresse MAC du
destinataire sachant qu’on ne connaît
que son adresse IP?
5
Protocole de résolution d’adresse
ARP
6
ARP
Fonctionnement ARP
Format de la trame ARP
Cache ARP
ARP gratuit
Proxy ARP
ARP Poisoning
RARP
Fonctionnement RARP
Format de la trame RARP
7
ARP
• Se trouve entre la couche réseau et la couche liaison de
données
• Interrogé par le protocole IP pour obtenir une adresse
“physique” à partir d’une adresse Internet “universelle”
• Nécessaire pour pouvoir passer à la couche Ethernet
l’adresse Physique de destination
• Les requêtes ARP se font en broadcast
8
Comment fonctionne le protocole ARP?
9
Fonctionnement ARP
• Un ordinateur ① , connecté à un réseau, veut émettre une trame
Ethernet à un autre ordinateur ② dont il connait l’adresse IP. Pour
connaitre l’adresse MAC , il effectue une requête ARP de type:
« Quelle est l’adresse MAC correspondante à l’adresse IP
<adresseIP_2> ? Répondez à <adresseIP_1>».
• La machine ② qui possède l’adresse IP sera la seule à répondre en
envoyant une réponse ARP du type:
« Je suis <adresseIP_2>, mon adresse MAC
est <adresseMAC_2>»
10
Fonctionnement ARP
Bonjour, je suis
[Link]
Je cherche
[Link]
Bonjour, je suis
[Link]
J’habite à
00.56.1f.94.31.
ea
A @IP: [Link]
B @IP: [Link]
C @IP: [Link]
@MAC: [Link].05.74 @MAC: [Link] @MAC: 04.a6.5d.23.10.6c
11
Paquet ARP
Type du matériel Type du protocole
HALen PALen Opération
MAC de l’émetteur
IP de l’émetteur
MAC de la cible
Trame
Ethernet IP de la cible
Adresse de Données
Adresse de
la
destination
la source Type Requête/Réponse ARP de
contrôle
12
Paquet ARP – Exemple (requête)
Ethernet II:
Adresse de destination: Broadcast ([Link])
Adresse de la source:
[Link].05.74
Type: ARP (0 x 0806)
ARP (request): 0 x 0001 0 x 0800
Type du matériel: Ethernet (0 x 0001) 6 4 0 x 0001
Type du protocole: IP (0 x 0800)
[Link].05.74
HAlen: 6
PAlen: 4 [Link]
Code de l’opération: request (0 x 0001) [Link]
MAC de l’émetteur: [Link].05.74
IP de l’émetteur: [Link]
[Link]
13
Paquet ARP – Exemple (réponse)
Type du matériel: Ethernet (0 x 0001)
0 x 0001 0 x 0800
Type du protocole: IP (0 x 0800) 6 4 0 x 0002
HAlen: 6
[Link]
PAlen: 4
Code de l’opération: résponse(0 x 0002) [Link]
MAC de l’émetteur: [Link].05.74
[Link]
IP de l’émetteur: [Link]
[Link]
14
Paquet IP Encapsulati Adresse
ARP
émis on MAC??
Que doit-on faire??
15
Cache ARP
• Table de couples adresse IP-adresse MAC contenue dans la mémoire
d'un ordinateur
• Chaque station maintient un cache desAdresse IP
adresses Adresse
les plus récemment
MAC
utilisées
dans une table d'association d'adresses.
16
Cache ARP
Utilisation:
Lors d'une tentative de résolution d'adresse :
- la station consulte préalablement la table d’association d'adresse.
- si une entrée correspond à l'adresse recherchée, on s'en sert !
- sinon la station diffuse un message de demande de résolution.
17
Cache ARP
Mise à jour:
Lors d'une réception d'un message de réponse de résolution :
- la station consulte la table d’association d'adresse.
- si une entrée correspond à l'adresse reçue, la station la met à jour.
- sinon on crée l'entrée correspondante
18
Cache ARP - Timeout
• Durée de vie des entrées limitée
• La machine retire de sa table toute entrée correspondante à une
machine dont elle n’a pas reçu de trame depuis un certain temps
qui est le Timeout
• Quand une entrée vient à expiration, une nouvelle requête ARP
devra être initiée en cas de besoin 19
Exemple de cache ARP
A B C
IP:
0x a 0x IP: b IP:0cx 0x
0001 0800
0800 MAC: β MAC:
6 4δ 0x
6 MAC: α
0001
4 0x 0001
0001 δ
α
c
a
α
[Link].
ff a
c
IP MA IP MA IP MA
C C C
a α b β c δ
c δ a α a α
20
Commandes ARP
• arp -a : affiche toutes les entrées dans le cache ARP
• arp -s @ip @MAC : ajoute manuellement une entrée statique dans
le cache
• arp -d : permet de vider le cache ARP
man arp : Linux
Arp/? :
Windows
21
ARP gratuit
• De nombreux systèmes d'exploitation émettent un
ARP gratuit lors du boot de la machine.
• Il permet de
– détecter dès le démarrage les conflits d'adresses IP (2
machines ayant la même adresse)
– mettre à jour la table ARP de toutes les machines en
indiquant ainsi son entrée dans le réseau.
22
ARP gratuit
Qu’est-ce qui se passe lorsque plusieurs ordinateurs
se connectent sur le réseau en même temps?
Tempête de broadcast
23
ARP gratuit
• Lorsque vous placez un analyseur sur un réseau
LAN vous assistez à des "tempêtes de
broadcast" dans ce créneau horaire.
surcharge momentanée du réseau …
Il est déconseillé de procéder à des
opérations lourdes.
24
Deux machines, sur deux réseaux
distants, comment peuvent elles
communiquer?
25
Proxy ARP
• Principe : C’est une technique permettant à un routeur de faire
croire que les machines des deux réseaux se trouvent sur le même
réseau.
• But : cacher l’existence d’autres réseaux physiques.
• Utilisation: Souvent utilisé dans le cas de sous-réseaux pour
permettre la coexistence avec des stations qui ne fonctionnent pas en
26
présence de sous-réseaux.
Proxy ARP C
@IP: c
Coucou, je suis « a » @MAC: δ
je cherche « c » Routeur
@IP: R
@MAC: β
Réseau 1 Réseau 2
A
@IP: a B
@MAC: α @IP: b
@MAC: ε
Coucou, je suis « c »
j’habite a « β »
27
ARP Poisoning
• Attaquer tout réseau local utilisant le protocole de résolution
d'adresse ARP
• Permettre d’écouter des flux de communication, de les corrompre,
d’usurper une adresse IP ou de bloquer le trafic
Pa
AR quet
e t P
A aqu B
P P
AR
28
ARP Poisoning - Ettercap
29
ARP Poisoning - Solution
Mettre des entrées statiques dans les
caches ARP
Limites:
• il faut un faible nombre de machines sur le réseau
• impossible pour les réseaux importants
30
Pourquoi et comment obtenir son adresse
IP depuis le réseau?
31
RARP:
• Normalement une machine qui démarre obtient son
adresse IP par lecture d'un fichier sur son disque dur
• Pour certains équipements cette opération n'est pas
possible:
– Terminaux X Windows
– Stations de travail « diskless »
32
Fonctionnement RARP:
• Pour communiquer en TCP/IP une machine a besoin d'une
adresse IP, l'idée de ce protocole est de la demander au
réseau.
• Le protocole RARP est adapté de ARP : l'émetteur envoie
une requête RARP dans laquelle il spécifie son adresse
physique ( broadcast ) . 33
Fonctionnement RARP:
• Toutes les stations en activité reçoivent la requête, les
serveurs RARP complètent le datagramme à partir d'une
table de correspondance entre adresses MAC et adresses
IP hébergée par une passerelle située sur le même réseau
local et le renvoient directement (unicast) à l'émetteur de
la requête.
34
Format de la trame RARP:
• Requête/réponse RARP (même format que ARP) :
– requête RARP (Opération = 3) diffusée par la station sans disque
(champ Frame Type = 0x8035)
– réponse RARP (Opération = 4) renvoyée par le serveur RARP
35
RARP - Problèmes :
Si on dispose d’un seul serveur RARP et qu’il
soit indisponible, qu’est-ce qui va se
passer??
Tempête RARP
36
RARP - Solutions:
• utiliser plusieurs serveurs RARP. Et mieux, on
désigne un serveur principal et les autres seront
des serveurs secondaires.
37
RARP - Solutions:
• Le serveur principal reçoit la demande ou la
requête RARP, il recherche dans la table de
correspondance l’adresse IP de la machine
demandeuse et la renvoie à cette dernière.
38
Merci pour votre
attention
Des questions?
Des commentaires?
39