ARP協議解碼詳解

一、ARP協議簡介
ARP,全稱Address Resolution Protocol,中文名爲地址解析協議,它工作在數據鏈路層,在本層和硬件接口聯繫,同時對上層提供服務。
IP數據包常通過以太網發送,以太網設備並不識別32位IP地址,它們是以48位以太網地址傳輸以太網數據包。因此,必須把IP目的地址轉換成以太網目的地址。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。ARP協議用於將網絡中的IP地址解析爲的硬件地址(MAC地址),以保證通信的順利進行。
1.  ARP和RARP報頭結構
ARP和RARP使用相同的報頭結構,如圖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地址。
2.  ARP和RARP的工作原理
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查詢失敗。
RARP的工作原理:
1.  發送主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址並且請求任何收到此請求的RARP服務器分配一個IP地址;
2. 本地網段上的RARP服務器收到此請求後,檢查其RARP列表,查找該MAC地址對應的IP地址;
3. 如果存在,RARP服務器就給源主機發送一個響應數據包並將此IP地址提供給對方主機使用;
4. 如果不存在,RARP服務器對此不做任何的響應;
5. 源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。
二、解碼詳解
瞭解了ARP和RARP協議的報頭結構和工作原理後,我們使用科來網絡分析系統抓取ARP包,其詳細解碼,如圖2,
(圖2 科來網絡分析系統中ARP請求包詳細解碼)
圖2顯示是一個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迴應包和RARP的包類似,我們在這裏就不再重複說明。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章