現在ARP不只是協議的簡寫,還成了掉線的代名詞。很多網吧和企業網絡不穩,無故掉線,經濟蒙受了很大的損失。根據情況可以看出這是一種存在於網絡中的一種普遍問題。出現此類問題的主要原因就是遭受了ARP攻擊。由於其變種版本之多,傳播速度之快,很多技術人員和企業對其束手無策。下面就來給大家從原理到應用談一談這方面的話題。希望能夠幫大家解決此類問題,淨化網絡環境。
ARP 欺騙攻擊原理分析
在局域網中,通過ARP協議來完成IP地址轉換為第二層物理地址,實現局域網機器的通信。ARP協議對網絡安全具有重要的意義。這是建立在相互信任的基礎上。如果通過偽造IP地址和MAC地址實現ARP欺騙,將在網絡中產生大量的ARP通信量使網絡阻塞、掉線、重定向、嗅探攻擊。
我們知道每個主機都用一個ARP高速緩存,存放最近IP地址到MAC硬件地址之間的映射記錄。Windows高速緩存中的每一條記錄的生存時間一般為60秒,起始時間從被創建時開始算起。默認情況下,ARP從緩存中讀取IP-MAC條目,緩存中的IP-MAC條目是根據ARP響應包動態變化的。因此,只要網絡上有ARP響應包發送到本機,即會更新ARP高速緩存中的IP-MAC條目。如:X向Y發送一個自己偽造的ARP應答,而這個應答中的數據發送方IP地址是192.168.1.3(Z的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(Z的真實MAC地址卻是CC-CC-CC-CC-CC-CC,這裡被偽造了)。當Y接收到X偽造的ARP應答,就會更新本地的ARP緩存(Y可不知道被偽造了)。那麼如果偽造成網關呢?
Switch上同樣維護著一個動態的MAC緩存,它一般是這樣,首先,交換機內部有一個對應的列表,交換機的端口對應MAC地址表Port n <-> Mac記錄著每一個端口下面存在那些MAC地址,這個表開始是空的,交換機從來往數據幀中學習。因為MAC-PORT緩存表是動態更新的,那麼讓整個 Switch的端口表都改變,對Switch進行MAC地址欺騙的Flood,不斷發送大量假MAC地址的數據包,Switch就更新MAC-PORT緩存,如果能通過這樣的辦法把以前正常的MAC和Port對應的關系破壞了,那麼Switch就會進行泛洪發送給每一個端口,讓Switch基本變成一個 HUB,向所有的端口發送數據包,要進行嗅探攻擊的目的一樣能夠達到。也將造成Switch MAC-PORT緩存的崩潰,如下面交換機中日志所示:
Internet 192.168.1.4 0000b.cd85.a193 ARPAVlan256
Internet 192.168.1.5 0000b.cd85.a193 ARPAVlan256
Internet 192.168.1.6 0000b.cd85.a193 ARPAVlan256
Internet 192.168.1.7 0000b.cd85.a193 ARPAVlan256
Internet 192.168.1.8 0000b.cd85.a193 ARPAVlan256
Internet 192.168.1.9 0000b.cd85.a193 ARPAVlan256
ARP攻擊時的主要現象
網上銀行、保密數據的頻繁丟失。當局域網內某台主機運行ARP欺騙的木馬程序時,會欺騙局域網內所有主機和路由器,讓所有上網的流量必須經過病毒主機。其他用戶原來直接通過路由器上網現在轉由通過病毒主機上網,切換的時候用戶會斷一次線。切換到病毒主機上網後,如果用戶已經登陸服務器,那麼病毒主機就會經常偽造斷線的假像,那麼用戶就得重新登錄服務器,這樣病毒主機就可以竊取所有機器的資料了。
網速時快時慢,極其不穩定,但單機進行光纖數據測試時一切正常。局域網內頻繁性區域或整體掉線,重啟計算機或網絡設備後恢復正常
由於ARP欺騙的木馬程序發作的時候會發出大量的數據包導致局域網通訊擁塞以及其自身處理能力的限制,用戶會感覺上網速度越來越慢。當ARP欺騙的木馬程序停止運行時,用戶會恢復從路由器上網,切換過程中用戶會再次斷線。
ARP的解決辦法:
目前來看普遍的解決辦法都是采用雙綁,具體方法:
先找到正確的 網關 IP 網關物理地址 然後 在客戶端做對網關的arp綁定。
步驟一:
查找本網段的網關地址,比如192.168.1.1,以下以此網關為例。在正常上網時,“開始→運行→cmd→確定”,輸入:arp -a,點回車,查看網關對應的Physical Address。
比如:網關192.168.1.1 對應0A-0B-0C-0D-0E-0F。
步驟二:
編寫一個批處理文件rarp.bat,內容如下:
@echo off
arp -d