Gratuitous ARP也稱爲免費ARP,無端ARP。Gratuitous ARP不一樣於通常的ARP請求,它並不是期待獲得IP對應的MAC地址,而是當主機啓動的時候,將發送一個Gratuitous arp請求,即請求本身的IP地址的MAC地址。緩存
免費ARP數據包是主機發送ARP查找本身的IP地址。一般,它發生在系統引導期間進行接口配置的時候。這裏可使用Wireshark捕獲主機啓動時候的數據,以驗證是否發送Gratutious arp數據包。這裏捕獲到的數據包,如圖1.21所示。網絡
圖1.21 Gratuitous ARP包ui
從該界面能夠看到第44、45、47數據包都是Gratuitous ARP包。spa
免費ARP有兩個方面的做用。分別以下所示:操作系統
1.驗證IP是否衝突.net
一個主機能夠經過它來肯定另外一個主機是否設置了相同的IP地址。發送主機並不須要必定收到此請求的回答。若是收到一個回答,表示網絡中存在與自身IP相同的主機。若是沒有收到應答,則表示本機所使用的IP與網絡中其它主機並不衝突。orm
【實例1-176】經過使用Wireshark捕獲數據包,分析是否有IP衝突的狀況。實驗環境如圖1.22所示。接口
圖1.22 驗證IP是否衝突get
(1)在主機A上配置一個IP地址爲192.168.7.8。而後從新啓動主機A。it
(2)在主機A啓動時,這裏也將主機B的IP地址修改成192.168.7.8。
(3)此時看Wireshark獲取到的數據包,如圖1.23所示。
圖1.23 免費ARP包
從該界面主要分析91、92幀。以下所示:
(1)從91幀中能夠看到MAC地址爲00:23:8b:c4:05:bf的主機(主機A),向這個局域網發送免費ARP廣播包。告訴局域網中全部的主機,它請求使用192.168.7.8。
(2)92幀表示MAC地址爲00:19:21:3f:c3:e5的主機(主機B),向整個局域網發送ARP廣播包。告訴局域網中全部的主機,192.168.7.8的MAC地址是00:19:21:3f:c3:e5(主機B)。意思是主機B已經使用了192.168.7.8。
從這兩個數據包,能夠看出主機B響應了主機A發送的免費ARP包,表示網絡中存在與A有相同IP的主機。因此A主機啓動後,將會看到如圖1.24所示的窗口。
圖1.24 IP衝突提示
從該窗口的提示信息中能夠看到本機的IP地址與網絡上其餘系統的IP地址衝突。
2.更換物理網卡
若是發送ARP的主機正好改變了物理地址(如更換物理網卡),可使用此方法通知網絡中其它主機及時更新ARP緩存。
【實例1-18】下面驗證更換物理網卡後,發送免費ARP的請求包。具體操做步驟以下所示:
本例中使用的實驗環境,如圖1.25所示。在該環境中,主機A和主機B的IP、MAC地址已經標出。在實驗以前這兩臺主機已經能正常通行,也就是說它們分別有對方的ARP條目。其中,主機A的操做系統爲Kali Linux;主機B爲Windows 7。
圖1.25 驗證免費ARP
(1)查看主機A的ARP緩存表。執行命令以下所示:
root@kali :~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.2 ether 00:23:8b:c4:05:bf C eth0
從輸出的信息中,能夠看到該緩存表中有一條ARP條目。其中IP地址爲192.168.1.2,MAC地址爲00:23:8b:c4:05:bf。
(2)修改主機B的MAC地址。以下所示:
在桌面上右鍵單擊「網絡」|「屬性」,打開網絡和共享中心。在該界面單擊「更改適配器設置」命令,將顯示如圖1.26所示。
圖1.26 網絡鏈接 圖1.27 本地鏈接 屬性
在該界面右鍵單擊「本地鏈接」|「屬性」,將顯示如圖1.27所示的界面。
在該界面單擊「配置」按鈕,將顯示如圖1.28所示的界面。在該界面選擇「高級」選項卡,如圖1.29所示。
圖1.28 Realtek PCLe GBE Family Controller屬性 圖1.29 高級設置
在該界面的屬性一覽中找到「網絡地址」(有的系統是Locally Administered Address或Network Address),而後單擊「值」,並輸入要更改的MAC地址(這裏輸入的MAC地址間不須要使用「-」符號)。
(3)查看Wireshark捕獲的數據包,如圖1.30所示。
圖1.30 免費ARP廣播包
從該界面能夠看到有三個免費ARP包,分別是11、15、18。這三個包都是MAC地址爲00:19:21:3f:c3:e4的主機向局域網中其它主機發送的免費ARP包,告訴其它主機它將使用192.168.1.2的IP地址。免費ARP包中的數據,如圖1.31所示。
圖1.31 免費ARP廣播包
從該界面能夠看到第三行信息爲ARP協議(請求/免費ARP)信息。從中能夠查看的發生方的MAC地址、IP地址及目標MAC地址、IP地址。這裏的目標MAC地址是00:00:00:00:00:00,表示這是一個ARP廣播請求。局域網中其它的計算機都會收到。若是有某主機中記錄了相關該地址的ARP條目將會被更新。
(4)查看主機中的ARP緩存表。以下所示:
root@kali :~# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.2 ether 00:19:21:3f:c3:e4 C eth0
從輸出的信息中能夠看到,地址爲192.168.1.2的ARP條目的MAC地址更新爲00:19:21:3f:c3:e4。
本文選自:ARP協議全面實戰手冊——協議詳解、攻擊與防護大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!