Den Address Resolution Protocol (ARP-Address Resolution Protocol) er en protokoll som brukes til å oversette en protokolladresse nettverkslaget (typisk en IPv4-adresse ) til en protokolladresse bindende lag (typisk en MAC-adresse ). Den ligger ved grensesnittet mellom nettverkslaget ( lag 3 av OSI-modellen ) og koblingslaget ( lag 2 av OSI-modellen ).
Den ble definert i RFC 826: En Ethernet Address Resolution Protocol .
ARP-protokollen er nødvendig for drift av IPv4 som brukes over et Ethernet- nettverk . I IPv6 blir funksjonene til ARP overtatt av NDP ( Neighbor Discovery Protocol ).
I resten av artikkelen brukes begrepet IP-adresse for å referere til en IPv4-adresse.
En datamaskin som er koblet til et datanettverk, ønsker å sende en Ethernet- ramme til en annen datamaskin hvis IP-adresse den kjenner og plassert i samme delnett . I dette tilfellet vil denne datamaskinen sette sin overføring på vent og utføre en nivå 2 -sending ARP forespørsel . Denne forespørselen er av typen "hva er MAC-adressen som korresponderer med IP-adresse IP -adresse ?" Svar på myIPAddress ”.
Siden dette er en kringkasting , vil alle datamaskiner i segmentet motta forespørselen. Ved å observere innholdet vil de kunne bestemme hvilken IP-adresse det søkes etter. Maskinen som har denne IP-adressen vil være den eneste som reagerer ved å sende avsenderenheten en ARP svar som "Jeg IP-adresse , er min MAC adresse macaddress ". For å sende dette svaret til riktig datamaskin , oppretter det en oppføring i sin ARP-cache fra dataene i ARP-forespørselen den nettopp har mottatt.
Maskinen ved opprinnelsen til ARP-forespørselen mottar svaret, oppdaterer ARP-hurtigbufferen og kan derfor sende meldingen om at den hadde satt på vent til den aktuelle datamaskinen .
En kringkasting og en unicast er derfor tilstrekkelig for å opprette en oppføring i ARP-hurtigbufferen til to datamaskiner.
Kommandoen arptillater konsultasjon og noen ganger endring av ARP-tabellen i visse operativsystemer. Nyttig for å oppdage ARP-forgiftning .
ARP-protokollen er designet uten særlig bekymring for sikkerhet. Det er sårbart for lokale angrep på segmentet, hovedsakelig avhengig av å sende falske ARP-meldinger til en eller flere datamaskiner . De er gruppert under navnet ARP-forgiftning ( ARP-cache- forurensning ). Sikkerhetsproblemet til en datamaskin for ARP-cache-forurensning avhenger av implementeringen av ARP-protokollen fra operativsystemet .
Tenk på en Charlie-maskin som ønsker å fange opp meldinger fra Alice til Bob, som alle tilhører samme delnett. Angrepet består i at Charlie sender en " pakke " arp who-has til Alice's maskin. Denne pakken vil inneholde spesialbygd som kilde-IP, IP-adressen til maskinen fra Bob som vi ønsker å etterligne ( ARP spoofing ) og MAC-adressen til nettverkskortet Charlie. Alice's maskin vil dermed opprette en oppføring som knytter MAC-adressen vår til IP-adressen til Bobs maskin. Alice, mottaker av " arp who-has ", bruker pakken til å opprette en oppføring i MAC-tabellen. Hvis Alice vil kommunisere med Bob på IP-nivå, vil Charlie motta Alice's frames siden MAC-adressen vår er lagret i Alice's forgiftede cache som en ekvivalent for Bobs stasjon IP. Dette er en kjent svakhet ved ARP-implementeringen og tillater enkel korrupsjon av en ekstern ARP-cache.
Disse angrepene kan tillate kommunikasjon mellom to maskiner å bli avlyttet ( mann-i-midten-angrep ), tilkoblingstyveri, overbelastning av bryterne som fungerer som strukturen i datanettverket eller en denial of service (bare utfør et angrep av typen MITM (Man In The Middle) nekter deretter pakkene).
For å kjempe mot denne typen angrep er det mulig:
Hver oppføring i ARP-tabellen har en levetid, noe som tvinger angriperen til regelmessig å ødelegge offerets cache. Noen operativsystemer som Solaris tillater at verdien til denne tidsavbruddet (kommandoen ndd) endres . En kort verdi vil gjøre korrupsjon lettere synlig.
|
med:
Maskinvaretype ( type materiale )Dette feltet indikerer hvilken type Layer 3 Protocol (OSI) som bruker ARP.
Maskinvareadresselengde ( lengden på den fysiske adressen )Dette feltet tilsvarer lengden på den fysiske adressen. Lengden skal tas i byte.
Protokolladresselengde ( lengde på den logiske adressen )Dette feltet tilsvarer lengden på nettverksadressen. Lengden skal tas i byte.
KirurgiDette feltet lar deg kjenne funksjonen til meldingen og derfor dens mål.
Avsenderhardwareadresse ( avsenderens fysiske adresse )Kilde MAC-adresse som en del av Ethernet.
Prococol avsenderadresse ( senderens nettverksadresse )Kilde IP-adresse som en del av TCP / IP.
Maskinvareadresse ( mottakerens fysiske adresse )Destinasjons MAC-adresse som en del av Ethernet. Hvis det er en ARP-forespørsel, blir feltet satt til 0, nettopp uten å vite denne adressen.
Målprotokolladresse ( målnettverksadresse )Destinasjons-IP-adresse som en del av TCP / IP
|
Gratis ARP-forespørsler ( gratis ARP ) sendes når noen operativsystemer starter. For eksempel sender noen modem-rutere denne typen forespørsel ved oppstart. De lar denne enheten, ny i nettverket, sjekke at IP-adressen ikke allerede eksisterer, noe som unngår konflikter med dupliserte IP-adresser. Grensesnittet som sendte forespørselen forventer ikke svar. Oppdateringen av bufferminnet til systemene som er koblet til nettverket er deretter sikret. De bryterne er informert om eksistensen av MAC-adressen til maskinen i spørsmålet. Alle disse handlingene sikrer større påfølgende tilkoblingshastighet til nettverket. Et mangfold av overføring av denne typen spørsmål kan være en indikator på en dårlig kabel som fører til hyppige tilkoblinger.