ARP協議分析

2022-02-15 01:10:37 字數 2202 閱讀 9247

1.什麼是arp協議

arp(address resolution protocol,位址解析協議)用於將ip位址解析為實體地址(mac位址)。這裡之所以需要使用mac位址,是因為網路中用於連線各個裝置的交換機使用了內容可定址儲存器(cam,coment addressable memory)。該儲存器維護的arp表列出了它在每乙個埠的所有連線裝置的mac位址。

當交換機收到了乙個指向特定mac位址的網路流量,它就會使用這個表,來確定應該使用哪乙個埠傳送流量。如果目標mac位址是未知的,那麼這個傳輸裝置會首先在它的快取中查詢這個位址,如果沒有找到,那麼這個位址就需要通過在網路上額外的通訊中解析了。或者我們可以結合下圖來說明這個問題:

其詳細工作原理為:

• (1)當主機a想要給主機b傳送資料時,主機a會首先在自己的本地arp快取表中檢查與主機b相匹配的mac位址。

• (2)如果主機a在自己的快取表中沒找到主機b的相關條目,那麼它就要想辦法獲取主機b的mac位址。這就需要將arp的請求幀廣播到本地網路上的所有主機中。這個請求幀包含有主機a的ip位址和mac位址,以及主機b的ip位址。網路中凡是收到請求幀的主機都會檢查自己的ip位址是否與請求位址一致,如果不一致,則會丟棄該請求幀。對於上圖來說,主機c和主機d會丟棄主機a發出的請求幀。

• (3)主機b確定arp請求中的ip位址和自己的ip位址一致,那麼就會將主機a的ip位址和mac位址新增到本地的快取列表中。

• (4)主機b將包含有自己mac位址的arp響應訊息直接回覆給主機a(單播)。

• (5)主機a收到從主機b發來的arp響應訊息後,會將主機b的ip位址和mac位址新增到自己的arp快取表中。接下來,主機a就可以向主機b傳送訊息了。

檢視本地的apr快取列表,cmd命令:arp –a

分析第乙個arp資料請求包。

通過packet details面板,檢查乙太網頭部資訊來確定這個資料報是不是乙個真的廣播資料報。

-首先在frame幀中,可以知道該資料報的大小為42個位元組。

-其次檢查一下ethernet部分的內容,會發現這個資料報目的位址是ff:ff:ff:ff:ff:ff,這是乙個廣播位址,說明當前資料報會被廣播到當前網段中的所有裝置上。而這個資料報中乙太網的源位址就是本機的mac位址。

-接下來展開arp請求的頭部資訊

硬體型別、協議型別、硬體位址長度、協議長度、操作碼(該值為1,表示這是乙個arp請求包)、傳送方的mac和ip位址,以及接收方的ip位址。

由於想要獲取的目標mac位址還是未知的,因此就以全0的形式(00:00:00:00:00:00)顯示。

分析第二個arp資料響應包。

arp響應的資料報和請求的資料報不同之處在於:

-用於響應的資料報的操作碼(opcode)現在是2,表明這是乙個用於響應的資料報;

-傳送方的mac位址和ip位址變成了目標mac位址和ip位址;

-響應資料報中的內容都是可用的,也就是說我們已經獲取了192.168.0.1主機的mac位址,即00:13:46:0b:22:ba,那麼接下來就可以正常通訊了。

分析第三個免費的arp(gratuitous arp)資料報。

由於網路中乙個裝置的ip位址是可以改變的,而mac位址不會改變。那麼一旦出現ip位址改變的情況,網路主機中快取的ip和mac位址對映就不再有效了。那麼為了防止由於對映失敗造成的通訊錯誤,免費的arp請求會被傳送到網路中,強制所有收到它的裝置使用新的ip以及mac位址對映來更新快取。通常,它發生在系統引導期間進行介面配置或ip位址出現變化的時候。

如下是乙個免費arp請求:

-首先我們可以看到這個資料報是以廣播的形式發出的,這樣一來,網路上的所有主機都能收到它。

-接下來,發現傳送方的ip位址和接收方的ip位址是一致的。網路中的其它主機收到這個資料報之後,它會讓這些主機使用新的ip和mac位址對映關係來更新它們的arp表。由於這個arp資料報是源主機未經請求主動發出的,並導致了目標主機更新了arp快取,所以稱之為免費的arp。

ARP協議分析

arp addressresolutionprotocol 位址解析協議用於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確定介面的,而不是根據3...

ARP協議分析

一 實驗名稱 arp協議分析 二 實驗目標 熟悉arp命令的使用,理解arp的工作過程,理解arp報文協議格式。三 實驗內容四 實驗步驟 1 啟動命令提示符,輸入arp 2 請問你使用什麼命令可以檢視計算機的arp緩衝,檢視並記錄下你當前arp表的內容 3 ping a計算機,如果能夠ping通,請...

wireshark分析ARP協議

傳送門 tcp ip協議不清楚請回看tcp ip協議理論 1 pc1想傳送資料到pc2,首先檢測本地快取arp快取表和pc2ip匹配的mac。2 如果沒有找到此條目,那麼pc1將廣播乙個arp請求幀到本地網路的所有主機。本地網路上每台主機都接受arp請求檢查是否和自己ip位址匹配。如果不匹配,丟棄該...