在區域網中,透過ARP協議來進行IP地址(第三層)與第二層實體地址(即MAC地址)的相互轉換。網咖中的一些裝置如路由器、裝有TCP/IP協議的電腦等都提供ARP快取表,以提高通訊速度。目前很多帶有ARP欺騙功能的攻擊軟體都是利用ARP協議的這個特點來對網路裝置進行攻擊,透過偽造的MAC與區域網內的IP地址對應,並修改路由器或電腦的ARP快取表,使得具有合法MAC的電腦無法與IP對應,從而無法透過路由器上網。
在掉線重啟路由器後,ARP快取表會重新整理,網路會在短時間內恢復正常,待ARP攻擊啟動後,又出現斷網現象,如此反覆,很容易被誤斷為路由器“當機”,從而使得網咖網管員無法及時採取行動迅速恢復網咖的正常營運。說白一點,就是你要訪問網路的時候需要透過一個伺服器,但是中毒的主機,就會在中間截住伺服器發給你的資料包,並在中間加上他的內容以後再發給你。這樣,你要看的網頁就會多出來一段程式碼。
如果是你是單機上網,那麼殺一下毒就可以了。如果是區域網上網,那麼下面的就是解決辦法:
路由器端,將客戶機的MAC地址和IP地址一一繫結,沒有被繫結的電腦就上不了網,因為中毒的主機要想用ARP攻擊,就得不斷變化自己的MAC地址來擷取和傳送資料包。做完這一步基本上已經能解決問題了。下面這轉載的這個問題的一些延升。
另外,在區域網中,一般只有兩類裝置帶有ARP快取,一類是路由器,另一類是上網電腦,也只有這兩類裝置最容易受到ARP攻擊。如同路由器受到ARP攻擊時資料包不能到達電腦一樣,上網電腦受到ARP攻擊時,資料包也不會傳送到路由器上,而是傳送到一個錯誤的地方,當然也就無法透過路由器上網了。因此,網咖要對付ARP攻擊,除對路由器進行IP與MAC繫結以外,在電腦上進行IP與MAC繫結也必不可少。
ARP攻擊之路由器進行的IP與MAC繫結
對路由器進行的IP與MAC繫結前面已經介紹過,在電腦上進行IP與MAC繫結該如何操作呢?其實微軟的操作系統中都帶有ARP這一命令列程式,在電腦的Windows命令列介面中輸入“arp -s +路由器IP如192.168.1.1+路由器LAN口MAC地址”就可以將的路由器IP和MAC繫結到電腦的ARP表中。 若透過Windows命令列介面中輸入ARP命令來繫結IP與MAC,電腦每次在重啟後都需要先輸入ARP命令,還有更簡單的辦法,可以讓電腦每次啟動時,自動將路由器的IP與MAC繫結到電腦的ARP表中:
第一步:新建一個批處理檔案如static_arp.bat,注意字尾名為bat。編輯它,在裡面加入ARP命令,並儲存。
要得到路由器的LAN口MAC地址,可以檢視路由器的介面中的“LAN執行狀態”。
第二步:將建立好的批處理檔案static_arp.bat複製到系統的啟動目錄中。電腦每次啟動時將自動執行該檔案,自動繫結IP與MAC。
第三步:將static_arp.bat檔案複製到網咖內所有電腦的系統啟動目錄中。
至此,網咖中的所有電腦都將路由器的IP與MAC繫結到ARP表中,無需再擔心因ARP攻擊而無法上網。
特別提示:當使用了ARP防範功能(IP和MAC繫結功能)後,電腦應使用固定IP,而不要使用動態IP(透過DHCP自動獲取IP),因為若使用動態IP,電腦每次啟動時所獲得的IP可能不一樣,從而可能造成與路由器中儲存的IP與MAC繫結條目不一致,這樣電腦將無法上網。
不過上面的是治標不治本的方法。要治本的話,就要去機房看看了,看交換機上哪能個電腦的流量最大,燈狂閃,把他撥了,再上網試,這時候如果發現所有電腦都上不了網了,或是連路由器也PING不通了,那麼恭喜你,你找到這個主機了,把路由器重啟一下,再去專門整那個中毒的機器吧,沒把病毒清理乾淨前,不要讓這個機器接入區域網。