免費ARP ,代理ARP配置及解決方法 ,抓包分析

**

**代理ARP實驗

**
一:工具
eNSP VirtualBox WireShark
實驗拓撲
在這裏插入圖片描述
根據拓撲路由器配置如下
在這裏插入圖片描述
我們在路由器的GE0/0/0口抓包可以看到,路由器首先發送一個免費ARP廣播報文檢測自己的IP是否和別人衝突,無迴應報文說明沒有衝突。
在這裏插入圖片描述
2.測試兩PC到路由器的連通性(ping),發現目標主機不可達。
在這裏插入圖片描述
3.輸入命令查看PC和路由器的ARP表項,PC上輸入arp –a 路由器上dis arp all,我們可以看到PC1上無ARP表項,而路由器上只有自己接口的ARP表項。
在這裏插入圖片描述
在這裏插入圖片描述
此時要使PC1和PC2正常通信就要做ARP代理
1.對路由器R1的兩個接口gg0/0/0和g0/0/1進行ARP代理配置
在這裏插入圖片描述
2.測試PC1和PC2的連通性,發現還是不可達。
在這裏插入圖片描述
原因:
首先我們要了解 PC發出ARP廣播的前提 :若PC1發現訪問的目的IP和自己是同一網段,則直接發出ARP廣播請求目的IP的MAC 地址;若目的IP和自己不是一個網段,則發ARP廣播請求自己網關的MAC
已知PC1(192.168.1.1/24)、PC2(192.168.2.1/24)不在同一網段,所以PC1要發出ARP廣播請求自己網關的MAC,此時,我們並沒有爲PC1配置網關,所以PC1無法發出ARP廣播。
解決方法
方法1:
將兩PC的子網掩碼改爲都改爲/22,此時,PC1、PC2在同一網段,這樣PC1 ping PC2纔會發出ARP廣播幀,請求獲取PC2的MAC

在這裏插入圖片描述在這裏插入圖片描述
此時測試PC1和PC2的連通性,PC1 ping 192.168.2.1;
在這裏插入圖片描述
可以看到前兩個數據包超時,原因是PC1沒有PC2的MAC地址,所以PC1送一個廣播包,當路由器收到後,發現自己也沒有PC2的MAC地址,也廣播發送一個ARP報文,此時收到PC1和PC2兩個IP地址對應的MAC地址的單播應答包,
路由器G0/0/0抓取的數據包:(可以看到兩個超時的數據包)
在這裏插入圖片描述
路由器G0/0/1抓取的數據包:
在這裏插入圖片描述
路由器緩存進自己的ARP表項中,可以看到有PC1和PC2的IP對應的MAC地址,以及自己接口的IP對應的MAC地址表。
在這裏插入圖片描述
這時我們在ping,發現無丟包情況,並且PC1中的ARP表項有了2.1的MAC地址
在這裏插入圖片描述
兩PC ping 通了,查看ARP後,發現去往PC2的IP地址對應的MAC地址與R1的g0/0/0接口相同
說明在PC1看來,R1的g0/0/0接口就是PC2,即R1的g0/0/0接口執行了ARP代理功能,爲PC1發出的ARP請求提供了代理應答。 達到了實驗想要的結果。
同理PC2也一樣
在這裏插入圖片描述
方法2:
配置PC1的網關192.168.1.254和PC2的網關192.168.2.254後,測試兩個PC的連通性發現

在這裏插入圖片描述
在這裏插入圖片描述
當有了MAC地址後我們可以看到第一個包是不丟失的
在這裏插入圖片描述
通過後臺運行的抓包軟件也可以看到當ping 192.168.2.1時
PC1先發送一個ARP廣播,請求網關的MAC地址。
在這裏插入圖片描述
網關給PC1單播回覆PC1網關的IP對應的MAC地址,然後PC1緩存到本地ARP表象中以便後續使用(在第二次ping時可以看到,這裏沒有ARP廣播請求自己網關MAC。注意:此緩存有一定時間300s)
在這裏插入圖片描述
兩PC ping 通了,查看ARP後,
發現去往PC2的IP地址對應的MAC地址與R1的g0/0/0接口相同,
去往PC1的IP地址對應的MAC地址與R1的g0/0/1接口相同
說明在PC1看來,R1的g0/0/0接口就是PC2,即R1的g0/0/0接口執行了ARP代理功能,爲PC1發出的ARP請求提供了代理應答。 達到了代理ARP實驗結果
。**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章