ARP協議分析

2022-07-13 15:27:06 字數 4558 閱讀 5079

杜垠萱完成時間:2010 年4 月10日

【實驗目的】

分析arp(address resolution protocol)報文首部格式

分析arp 協議在同一網段內和不同網段間的解析過程

【實驗內容】

1.在本機上分別執行ping 172.16.52.1 命令和ping 命令,並用wireshark 軟體捕獲通訊時的資料。

2.分析arp 協議報文結構。

3.分析arp 協議在同一網段內和不同網段間的解析過程。

【實驗原理】

當乙個乙太網幀在區域網內傳播給目的主機或路由器時,是通過mac 位址進行識別的,因此當ip 包通過路由器從網際網路進入到區域網後,需要用arp 協議將ip 位址對映到本地的mac 位址,才能達到目的主機。arp 包被直接封裝在乙太網的資料鏈路幀,查詢主機用廣播方式發出arp 查詢請求,應答主機採用單播方式響應,arp 協議時基於udp 的協議。

【實驗步驟】

一、 arp 協議在同一網段內的解析過程(本機ip 是127.16.52.28,ping 的主機ip是127.16.52.1)

1、 在dos 命令視窗下執行arp –d 命令刪除arp 快取的內容,再執行arp–a 命令顯示當前arp 快取的內容,見圖1。由圖可知,當前本機的arp快取中沒有內容。

圖1 清除並顯示arp 快取

2、 用wireshark 捕獲ping 172.16.52.1 命令產生的資料報。

3、 在顯示過濾器filter 中輸入「arp」,獲得arp 通訊資料報,如圖2 所示。

圖2 arp 通訊資料報

4、 分析arp request 資料報結構,見圖3。

圖3 arp request 資料報

由上圖可以看出第1 號為arp request 資料報, arp 包是封裝在乙太網資料幀中傳輸的,該以太幀的源位址和目的位址如下:

ethernet ii, src: dell_9e:69:

77 (00:14:22:

9e:69:77), dst:

broadcast (ff:ff:ff:

ff:ff:ff)//源主機mac位址和目的主機mac位址。

由此可見是本機以廣播方式發出arp查詢請求。

address resolution protocol (request)//表示該幀為請求幀

hardware type: ethernet (0x0001)//硬體型別,0001為乙太網

protocol type: ip (0x0800)//協議型別0800為ip協議

hardware size: 6//硬體長度為6位元組

protocol size: 4//協議長度為4位元組

opcode: request (0x0001)//操作碼0001表示請求

[is gratuitous: false]//

sender mac address: dell_9e:69:77 (00:14:22:9e:69:77)//傳送方的mac位址

sender ip address: 172.16.52.28 (172.16.52.28)//傳送方的ip位址

target mac address: 00:00:

00_00:00:00 (00:

00:00:00:

00:00)//接受方的mac位址不清楚

target ip address: 172.16.52.1 (172.16.52.1)//接收方的ip位址

5、 分析arp replay 資料報,見圖4。

圖4 arp replay 資料報

由上圖可見第2 號包為應答資料報,該應答資料報是封裝在乙太網資料幀中傳輸的,該以太幀的源位址和目的位址如下:

ethernet ii, src: huaweite_6c:f5:

d7 (00:e0:fc:

6c:f5:d7), dst:

dell_9e:69:77 (00:

14:22:9e:

69:77) //源主機mac位址和目的之舉mac位址,由此可見該幀的目的位址為本機的mac位址,應答主機採用單播的方式傳送訊息

arp應答資料報報頭分析如下:

address resolution protocol (reply) //表示此幀是應答包

hardware type: ethernet (0x0001) //硬體型別0001表示乙太網

protocol type: ip (0x0800) //協議型別 0800表示ip協議

hardware size: 6 //硬體長度為6位元組

protocol size: 4 //協議長度為4位元組

opcode: reply (0x0002) //操作碼0002表示應答

[is gratuitous: false]

sender mac address: huaweite_6c:f5:d7 (00:e0:fc:6c:f5:d7)

//傳送方mac位址00:e0:fc:6c:f5:d7(第一閘道器路由)

sender ip address: 172.16.52.1 (172.16.52.1) //傳送方ip位址

target mac address: dell_9e:69:77 (00:14:22:9e:69:77)

//接收方mac位址00:14:22:9e:69:77(本地主機)

target ip address: 172.16.52.28 (172.16.52.28) //目的ip位址

6、 在dos命令視窗下執行 arp -a 命令顯示當前arp快取的內容,見圖5

7、 結論

以上分析得出arp 報頭由硬體型別、協議型別、硬體長度、協議長度、操作碼、傳送方mac 位址、傳送方ip 位址、接收方mac 位址和接收方ip 位址組成,其中請求包和應答包的不同在操作碼上,即操作碼為1 表示請求包,操作碼為2表示應答包。ip位址為172.16.

52.28 的主機的mac 位址為00:14:

22:9e:69:

77,並寫入了本機的arp 快取中。

arp 協議的解析過程為:通過本機ping 目標主機172.16.

52.1時,首先在本機的arp 快取中查詢目標主機172.16.

52.1 的mac 位址。但是我們在ping之前就先執行了arp –d 命令清空了arp 快取內容,所以不能在本機arp 快取中查詢到目標主機172.

16.52.1的mac 位址。

所以本機通過廣播的形式傳送arp 請求報文,目標主機172.16.52.

1接收到廣播報文後,判斷其ip 位址與自己的ip 位址相同,所以將自己的mac 位址寫入應答報文,以單播的形式傳送給本機,其他主機收到廣播報文後,判斷其ip 位址與自己的ip 位址不同,則將該包丟棄。本機收到目標主機172.16.

52.1 發回的mac 位址後將其寫入快取。arp 解析成功後本機直接傳送icmp 資料報給目標主機。

二、 arp 協議在不同網段間的解析過程(本機ip 位址為172.16.52.1,目標主機網域名稱為

1、 在dos 命令視窗下執行arp –d 命令刪除arp 快取的內容,再執行arp –a命令顯示當前arp 快取的內容,見圖6。由圖可知,當前本機的arp 快取中沒有內容。

圖6 清除並顯示arp 快取

2、 用wireshark 捕獲ping 命令產生的資料報。由圖7 可以看出網域名稱 的主機ip 位址為119.75.213.50。

圖7 ping 返回資料

3、 在顯示過濾器filter 中輸入「arp」,獲得arp 通訊資料報,如圖8 顯示。

圖8 arp 通訊資料報

4、 arp request 資料報,本資料報傳送方ip 為172.16.52.

28,接收方ip 為172.16.52.

1,接收方位址是本機的閘道器位址,而不是網域名稱 的主機的ip 位址,見圖9。(資料報結構和在同一網段內的相同,這裡就不再分析)

圖9 arp request 資料報

5、 arp replay 資料報,本資料報傳送方ip 為10.0.26.

1,接收方ip 為10.0.26.

24,接收方位址是本機的ip 位址,見圖10。(資料報結構和在同一網段內的相同,這裡就不再分析)

圖10 arp replay 資料報

6、 在dos 命令視窗下執行arp –a 命令顯示當前arp 快取的內容,見圖11。由圖可知,當前本機的arp 快取已經記錄了10.0.26.1 對應的mac 位址。

7、 結論

由於網域名稱為 的主機與本機不在同一網段上,所以當本機執行ping 命令時,需要把資料報發給本機的預設閘道器172.16.52.

1,然後再由預設閘道器**給網域名稱為 的主機。在本機上執行ping 命令時, 首先在本機的快取中查詢預設閘道器172.16.

52.1 的mac 位址,但是我們在ping 之前就先執行了arp –d 命令清空了arp 快取內容,所以不能在本機arp 快取中查詢到預設閘道器172.16.

52.1 的mac位址。所以本機通過廣播的形式傳送arp 請求報文,預設閘道器收到後,判斷其ip位址與自己的ip 位址相同,便將自己的mac 位址寫入應答報文,發給本機,本機收到後將其寫入快取,其他主機收到廣播報文後,判斷其ip 位址與本機的不同,就將請求報文丟棄。

arp 解析成功後,本機傳送icmp 報文給預設閘道器,由預設閘道器再**給網域名稱為 的主機。

ARP協議原理分析

arp,全稱address resolution protocol,中文名為位址解析協議,它工作在資料鏈路層,在本層和硬體介面聯絡,同時對上層提供服務。ip資料報常通過乙太網傳送,乙太網裝置並不識別32位ip位址,它們是以48位乙太網位址傳輸乙太網資料報。因此,必須把ip目的位址轉換成乙太網目的位址...

實驗二 位址解析協議 ARP

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

TCPIP詳解卷一協議45ARP舉例

第1行中的下乙個輸出欄位arpwho has表示作為arp請求的這個資料幀中,目的ip位址是svr4的位址,傳送端的ip位址是bsdi的位址。tcpdump列印出主機名對應的預設ip位址 在4.7節中,我們將用 n選項來檢視arp請求中真正的ip位址。從第2行中可以看到,儘管arp請求是廣播的,但是...