ARP協議解析

2021-09-11 13:44:26 字數 2151 閱讀 6522

位址解析協議,是通過解析網路層位址(ipv4, ipv6)來尋找資料鏈路層位址的乙個在網路協議包中非常重要的網路傳輸協議。arp屬於資料鏈路層協議。

在乙太網協議中規定,同一區域網中的一台主機要和另一台主機進行直接通訊,必須要知道目標主機的mac位址。而在tcp/ip協議中,網路層和傳輸層只關心目標主機的ip位址。這就導致在乙太網中使用ip協議時,資料鏈路層的乙太網協議接到上層ip協議提供的資料中,只包含目的主機的ip位址。於是需要一種方法,根據目的主機的ip位址,獲得其mac位址。這就是arp協議要做的事情。所謂位址解析(address resolution)就是主機在傳送幀前將目標ip位址轉換成目標mac位址的過程。

另外,當傳送主機和目的主機不在同乙個區域網中時,即便知道目的主機的mac位址,兩者也不能直接通訊,必須經過路由**才可以。所以此時,傳送主機通過arp協議獲得的將不是目的主機的真實mac位址,而是一台可以通往區域網外的路由器的mac位址。於是此後傳送主機發往目的主機的所有幀,都將發往該路由器,通過它向外傳送。這種情況稱為委託arp或arp**(arp proxy)。

image

image

目標主機的mac位址

源主機的mac位址

協議型別,表明乙太網幀的型別,這裡是0x0806,代表這是arp協議幀。

硬體型別,1代表是乙太網。

協議型別,表明上層協議的型別,這裡是0x0800,表示上層協議是ip協議

硬體位址長度,毫無疑問是6個位元組

協議長度,這裡ip協議的長度是4個位元組

操作型別,在報文中佔2個位元組,1表示arp請求,2表示arp應答,3表示rarp請求,4表示rarp應答在每台安裝有tcp/ip協議的主機裡都有乙個arp快取表,表裡的ip位址與mac位址是一對應的,如下表所示

image

以主機a(192.168.38.10)向主機b(192.168.38.11)傳送資料為例。

1.當傳送資料時,主機a會在自己的arp快取表中尋找是否有目標ip位址。如果找到就知道目標mac位址為(00-bb-00-62-c2-02),直接把目標mac位址寫入幀裡面傳送就可。

2.如果在arp快取表中沒有找到相對應的ip位址,主機a就會在網路上傳送乙個廣播(arp request),目標mac位址是「ff.ff.ff.ff.ff.ff」,這表示向同一網段內的所有主機發出這樣的詢問:「192.168.38.11的mac位址是什麼?」

3.網路上其他主機並不響應arp詢問,只有主機b接收到這個幀時,才向主機a做出這樣的回應(arp response):「192.168.38.11的mac位址是00-bb-00-62-c2-02」,此回應以單播方式。這樣,主機a就知道主機b的mac位址,它就可以向主機b傳送資訊。同時它還更新自己的arp快取記憶體(arp cache),下次再向主機b傳送資訊時,直接從arp快取表裡查詢就可。

arp快取表採用老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少arp快取表的長度,加快查詢速度。

garp(gratuitous arp),他是指主機傳送arp查詢(廣播)自己的ip位址,當arp功能被開啟或者是埠初始配置完成,主機向網路傳送免費arp來查詢自己的ip位址確認位址唯一可用。

作用:1、確定網路中是否有其他主機使用了ip位址,如果有應答則產生錯誤訊息。

2、免費arp可以做更新arp快取用,網路中的其他主機收到該廣播則在快取中更新條目,收到該廣播的主機無論是否存在與ip位址相關的條目都會強制更新,如果存在舊條目則會將mac更新為廣播包中的mac。

使用arp -d -a刪除本地路由表。開啟抓包工具重新鏈結網路可以看到一下截圖

image

1.本地傳送乙個廣播arp包獲取區域網閘道器的mac位址。

2.路由器接收到訊息以後以單播的形式應答,本地將路由器mac的位址寫入本地路由表中。

3.由於使用的是dhcp獲取協議,本地還會傳送乙個grap的廣播arp包,確認當前ip是否有衝突。

arp欺騙的運作原理是由攻擊者傳送假的arp資料報到網路上,尤其是送到閘道器上。其目的是要讓送至特定的ip位址的流量被錯誤送到攻擊者所取代的地方。因此攻擊者可將這些流量另行轉送到真正的閘道器(被動式資料報嗅探,passive sniffing)或是篡改後再轉送(中間人攻擊,man-in-the-middle attack)。攻擊者亦可將arp資料報導到不存在的mac位址以達到阻斷服務攻擊的效果。

對arp攻擊感興趣可以閱讀jpcap實現arp攻擊

arp協議解析

1.首先,主機a想要向主機b傳送訊息,但它不知道主機b的mac位址,只知道主機b的ip位址。這時,主機a會在當前區域網下以廣播的形式傳送arp請求資料報,表示主機a想知道主機b的mac位址 注 廣播時,乙太網首部的目的位址為全f 2.由於是廣播,所以在本區域網上的所有主機都會受到主機a傳送的arp資...

ARP協議 位址解析協議

網路層使用的是ip位址,但實際網路的鏈路上傳送資料幀時,最終還是必須使用該網路的硬體位址。arp快取記憶體 ip位址到硬體位址的對映表 那麼一台主機 a 是如何獲知本區域網內其他主機或路由的硬體位址的?主機a廣播arp請求分組 我的ip是 硬體位址是 請告知我ip位址為 主機的硬體位址。本區域網內的...

位址解析協議 ARP

1.什麼是arp?英文原義 address resolution protocol 中文釋義 是乙個位於tcp ip協議棧中的低層協議,負責將某個ip位址解析成對應的mac位址。區域網中,網路中實際傳輸的是 幀 幀裡面是有目標主機的mac位址的。所謂 位址解析 就是主機在傳送幀前將目標ip位址轉換成...