詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

ARP(Address Resolution Protocol)即地址解析協議,負責將某個IP地址解析成對應的MAC地址。在網絡通信過程中會使用到這兩種地址,邏輯IP地址和物理MAC地址,一般情況下,正常通信需要這兩種地址協同工作。一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?就是需要通過ARP協議獲得的。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

ARP工作過程

1.主機A想要發送數據包到主機B,主機A先要確定要訪問的主機B是否處以同一個網絡192.168.52.0中,主機A首先在本機的緩存中查詢主機B的IP地址所對應的MAC地址。

2.如果主機A在本地緩存中找到192.168.52.122對應的MAC地址,則主機A用此MAC地址封裝幀,然後發送出去。

3.如果主機A在本地緩存中沒有找到192.168.52.122對應的MAC地址,則主機A發送一個ARP的查詢包(ARP Request)。ARP查詢包中的源地址是主機A的IP地址192.168.52.131,目標IP地址是主機B的IP地址192.168.52.122,源MAC地址是主機A的MAC地址00-0c-29-ff-72-22,目的MAC地址爲廣播MAC地址FF-FF-FF-FF-FF-FF。主機A封裝完成後,把ARP查詢包以廣播的形式發送出去。

4.在同一網段中,主機B和主機C都會收到這個廣播包, 然後解封裝該數據包,主機C檢查數據包的目的IP地址,發現目的IP地址是192.168.52.122,與本機不同,主機C放棄繼續處理該數據包。主機B檢查數據包的目的IP地址,發現目的地址是192.168.52.122,與本機相同,主機B在本地的緩存中增加或更新192.168.52.131對應的MAC地址條目。

5.主機B發現ARP查詢包是詢問本機IP地址所對應的MAC地址,主機B將發回ARP應答包(ARP Reply)。ARP應答包的源IP地址是192.168.52.122,目的IP地址是192.168.52.131,源MAC地址是00-0c-29-4c-af-b4,目的MAC地址是00-0c-29-ff-72-22,並以單播的方式發送出去。

6.在交換機相連的網絡中,交換機是基於目的MAC地址轉發的,則主機A將收到此ARP應答包,從而獲得主機B對應的MAC地址。

7.主機A獲得主機B的MAC地址後,主機A就可以向主機B發送其他數據了。

 

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

ARP欺騙原理

上面提到了ARP緩存表,在每臺主機上都有一個ARP緩存表,緩存表中記錄了局域網主機IP地址與MAC地址的對應關係,而局域網數據傳輸依靠的是MAC地址。但是並不是想象中的那麼安全,在ARP緩存表機制存在一個缺陷,就是當請求主機A收到ARP應答包後,就直接把這個返回包中的IP地址與MAC地址的對應關係保存到ARP緩存表中,如果原有相同IP對應關係,原有的則會被替換。現在主機A的ARP緩存表中網關IP地址192.168.52.2對應的MAC地址爲00-50-56-ea-96-d5,如果主機C假扮成網關,首先告訴主機A我就是網關,主機C向主機A發送構造好的ARP返回包,源IP爲網關地址192.168.52.2,源MAC則爲主機C自己的MAC地址00-0c-29-9f-56-f9,主機A把這個錯誤信息記錄在了ARP緩存表中。這樣主機A發送給網關地址的數據包就會發送到主機C上了,從而達到了ARP欺騙的目的。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

ARP欺騙實驗

主機C是一臺Kali Linux,對主機A進行ARP欺騙。我們先來看一下主機A的ARP緩存表,網關的IP地址爲192.168.52.2,對應的MAC地址爲00-50-56-ea-96-d5。並且主機A可以通過該網關進行上網。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

主機C利用arpspoof工具,對主機A進行ARP欺騙攻擊,從而主機A會造成斷網現象。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

因爲在主機A上查看ARP表,網關對應的MAC地址變成主機C的MAC地址00-0c-29-9f-56-f9。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

ARP欺騙的主要目的是讓目標主機A的流量先經過攻擊主機C的網卡,再從網關出去,而網關也會把原本流入目標主機A的流量經過攻擊主機C。在進行ARP欺騙之前,我們要先開啓攻擊主機C的IP轉發功能,如果不開啓的話,我們攻擊之後先會使目標機A斷網,而不是欺騙。通過以下命令開啓並開始進行ARP欺騙攻擊。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

此時,我們在攻擊主機C上就可以利用圖片嗅探工具driftnet來捕獲目標主機A在上網過程中查看的圖片。因爲主機A在上網過程中的流量都需要先經過攻擊主機C。

詳解ARP協議工作流程和ARP欺騙原理,以及ARP欺騙攻擊實驗

 

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