windows環境下,如果遭遇ARP攻擊,解決方法很簡單:“360安全衛士”或"QQ軟體管理"的實時防護裡,都有ARP防護功能(預設是關閉的),隻要啟用就行了。
但是Mac本上,就沒這麼友善了,先大概說下ARP攻擊的原理:
我們在區域網路中通路外網時,總是要經過網關才能出去,IP設定裡網關設定的是一個具體的ip4位址(比如192.168.1.1),但是IP位址每台機器通常是可以随便設定的(隻要不跟區域網路中的其它機器沖突),這是一個邏輯上的虛拟位址,隻有網絡裝置(比如網卡)本身的靜态MAC位址,這個才是實體真實位址,所有對IP的通路,最終必須定位到MAC實體位址,才能直接跟實體裝置通訊。OSI 7層網絡模型裡,IP處于第3層,MAC位址處于第2層,這二層并不能直接打交道,是以才需要ARP (Address Resolution Protocol) 位址解析協定來充當翻譯。
ARP攻擊時,就是通過僞裝網關的MAC位址來達到欺騙的目的,更通俗的點,當你的機器通路網關(比如192.168.1.1)時,正常情況下,應該定位到網關路由器的真實實體位址(比如A),但是被攻擊後,會被誤導到其它假MAC位址(B),相當于你根本沒通過網關正常通路,上不了網也就不奇怪了。
明白原理後,解決問題的思路就有了:
1、先找出網關的真實實體位址(即路由器的mac位址)
在mac本上安裝虛拟機,然後在虛拟機裡安裝windows(開啟ARP防護功能),這樣環境就回到熟悉的windows了(或者找一台windows機器也行-前提是這台機器上安裝有ARP防火牆,能正常上網),在windows的命運作中,輸入 arp -a
C:\Users\jimmy.yang>arp -a
接口: 192.168.1.120 --- 0xb
Internet 位址 實體位址 類型
192.168.1.1 14-e6-e4-9b-38-aa 動态
192.168.1.255 ff-ff-ff-ff-ff-ff 靜态
224.0.0.2 01-00-5e-00-00-02 靜态
224.0.0.252 01-00-5e-00-00-fc 靜态
239.255.255.250 01-00-5e-7f-ff-fa 靜态
255.255.255.255 ff-ff-ff-ff-ff-ff 靜态
從傳回的結果中,就能知道192.168.1.1網關的實體位址是 14-e6-e4-9b-38-aa
2、回到mac環境中,将網關位址與實體位址綁定
在終端視窗中,輸入:sudo arp -s 192.168.1.1 14:e6:e4:9b:38:aa pub
注:上面的實體位址,各節之間是用":"分隔的,不是"-"
一般情況下,這樣就可以上網了,如果還不行,建議不要用DHCP動态擷取IP,改成手動指定IP位址