ARP協議原理分析

2021-03-04 01:13:06 字數 2870 閱讀 6894

arp,全稱address resolution protocol,中文名為位址解析協議,它工作在資料鏈路層,在本層和硬體介面聯絡,同時對上層提供服務。

ip資料報常通過乙太網傳送,乙太網裝置並不識別32位ip位址,它們是以48位乙太網位址傳輸乙太網資料報。因此,必須把ip目的位址轉換成乙太網目的位址。在乙太網中,乙個主機要和另乙個主機進行直接通訊,必須要知道目標主機的mac位址。

但這個目標mac位址是如何獲得的呢?它就是通過位址解析協議獲得的。arp協議用於將網路中的ip位址解析為的硬體位址(mac位址),以保證通訊的順利進行。

arp的報頭結構,如圖1所示。

(圖1 arp/rarp報頭結構)

● 硬體型別字段指明了傳送方想知道的硬體介面型別,乙太網的值為1;

● 協議型別字段指明了傳送方提供的高層協議型別,ip為0800(16進製制);

● 硬體位址長度和協議長度指明了硬體位址和高層協議位址的長度,這樣arp報文就可以在任意硬體和任意協議的網路中使用;

● 操作字段用來表示這個報文的型別,arp請求為1,arp響應為2,rarp請求為3,rarp響應為4;

● 傳送方的硬體位址(0-3位元組):源主機硬體位址的前3個位元組;

● 傳送方的硬體位址(4-5位元組):源主機硬體位址的後3個位元組;

● 傳送方ip(0-1位元組):源主機硬體位址的前2個位元組;

● 傳送方ip(2-3位元組):源主機硬體位址的後2個位元組;

● 目的硬體位址(0-1位元組):目的主機硬體位址的前2個位元組;

● 目的硬體位址(2-5位元組):目的主機硬體位址的後4個位元組;

● 目的ip(0-3位元組):目的主機的ip位址。

arp的工作原理如下:

1. 首先,每台主機都會在自己的arp緩衝區 (arp cache)中建立乙個 arp列表,以表示ip位址和mac位址的對應關係。

2. 當源主機需要將乙個資料報要傳送到目的主機時,會首先檢查自己 arp列表中是否存在該 ip位址對應的mac位址,如果有﹐就直接將資料報傳送到這個mac位址;如果沒有,就向本地網段發起乙個arp請求的廣播包,查詢此目的主機對應的mac位址。此arp請求資料報裡包括源主機的ip位址、硬體位址、以及目的主機的ip位址。

3. 網路中所有的主機收到這個arp請求後,會檢查資料報中的目的ip是否和自己的ip位址一致。如果不相同就忽略此資料報;如果相同,該主機首先將傳送端的mac位址和ip位址新增到自己的arp列表中,如果arp表中已經存在該ip的資訊,則將其覆蓋,然後給源主機傳送乙個 arp響應資料報,告訴對方自己是它需要查詢的mac位址;

4. 源主機收到這個arp響應資料報後,將得到的目的主機的ip位址和mac位址新增到自己的arp列表中,並利用此資訊開始資料的傳輸。如果源主機一直沒有收到arp響應資料報,表示arp查詢失敗。

了解了arp協議的報頭結構和工作原理後,我們使用科來網路分析系統抓取arp包,其詳細解碼,如圖1,

(圖1 網路分析系統中arp請求包詳細解碼)

圖1顯示是乙個arp的請求包的解碼,下面我們來詳細說明:

● 硬體型別:1,表示硬體藉口型別為乙太網型別

● 協議型別:0x0800,表示傳送方提供的高層協議型別是ip

● 硬體位址長度:表示硬體位址長度為6位元組=48位

● 協議位址長度:表示ip位址長度為4位元組=32位

● 操作型別:1,表示arp請求

● 源實體地址:00:14:85:ca:f5:22

● 源ip位址:192.168.0.92

● 目標實體地址:00:00:00:00:00:00

● 目標ip位址:192.168.0.208

練習一:熟悉arp

1、 主機a、b、c、d在命令列下執行「arp –a」命令,檢視arp快取表,描述arp快取表的構成。

2、 主機a、b、c、d啟動協議分析軟體,開啟捕獲視窗進行資料捕獲並設定過濾條件(提取arp、icmp協議)。

3、 主機a、b在命令列下執行「arp –d」命令,清空arp快取表。

4、 主機a ping 主機d(位址: 10.18.39.168

5、 主機a、b、c、d停止捕獲資料,並立即在命令列下執行「arp –a」命令,檢視arp快取表

6、 結合協議分析軟體上採集到得arp報文和arp快取表中新增加的條目,小組討論分析arp協議報文互動過程以及arp快取表的更新過程。

練習二:編輯並傳送arp報文

1、 在主機a上啟動資料報生成器,並編輯乙個arp請求報文。其中,

mac層:

目的mac位址:設定為ffffff-ffffff

源mac位址:設定為主機a的mac位址( 00-11-5b-8d-5a-20

協議型別或者資料長度:0806

arp層:

傳送端mac位址:設定為主機a的mac位址( 00:11:5b:87:ab:02

傳送端ip位址:設定為主機a的ip位址( 10.18.39.130

目的端mac位址:設定為000000-000000

目的端ip位址:設定為主機c的ip位址10.18.39.223

2、 主機b、c、d啟動協議分析軟體,開啟捕獲視窗進行資料捕獲並設定過濾條件(提取arp協議)

3、 主機b、c、d在命令列下執行「arp –d」命令清空arp快取表。

4、 主機a傳送編輯好的arp報文

5、 主機a立即在命令列下執行「arp –a」命令,檢視並記錄arp快取表。

6、 主機b、c、d停止捕獲資料,分析捕獲到得資料,進一步體會arp報文的互動過程。

思考題:

1、 請各小組同學結合自己小組實際網路拓撲結構情況以及實驗過程和資料,分析arp協議報文互動過程以及arp快取表的更新過程。

2、 試解釋為什麼arp快取表每存入的乙個專案要設定10-20分鐘的超時時間,這個時間設定太大太小會出現什麼問題?

3、 舉出所了解的不需要傳送arp請求分組的情況。

ARP協議分析

杜垠萱完成時間 2010 年4 月10日 實驗目的 分析arp address resolution protocol 報文首部格式 分析arp 協議在同一網段內和不同網段間的解析過程 實驗內容 1.在本機上分別執行ping 172.16.52.1 命令和ping 命令,並用wireshark 軟體...

ARP攻擊原理

我們大家都知道,在區域網中,一台主機要和另一台主機進行通訊,必須要知道目標主機的ip位址,但是最終負責在區域網中傳送資料的網絡卡等物理裝置是不識別ip位址的,只能識別其硬體位址即mac位址。mac位址是48位的,通常表示為12個16進製制數,每2個16進製制數之間用 或者冒號隔開,如 00 0b 2...

實驗二 位址解析協議 ARP

計算機網路 班級 網路工程2班 組別 第五組 b 1 掌握arp 協議的報文格式 2 掌握arp 協議的工作原理 3 理解arp 快取記憶體的作用 練習一 領略真實的arp 同一子網 各主機開啟協議分析器,進入相應的網路結構並驗證網路拓撲的正確性,如果通過拓撲驗證,關閉協議分析器繼續進行實驗,如果沒...