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地址
