ARP(地址解釋協(xié)議)是網(wǎng)絡(luò)通信協(xié)議中的不可缺少的關(guān)鍵協(xié)議,它是負責將IP地址轉(zhuǎn)換為對應(yīng)MAC地址的協(xié)議。在此過程中,如果出現(xiàn)虛假的IP-MAC對應(yīng)關(guān)系,就出現(xiàn)了ARP攻擊、ARP欺騙。
ARP攻擊是從數(shù)據(jù)鏈路層發(fā)起的,ARP不是病毒,而是一種“協(xié)議性攻擊行為”,由于沒有明顯的特征字以及ARP在網(wǎng)絡(luò)通訊中的重要地位,防毒墻和防火墻應(yīng)對ARP病毒也束手無策。所以從源頭上堵住問題數(shù)據(jù)的流出,同時放行合法的ARP數(shù)據(jù)包,才是徹底擺脫ARP困擾的終極解決方案。這是由于以太網(wǎng)協(xié)議存在漏洞造成的,也就是為什么ARP防火墻、殺毒軟件、IP-MAC綁定等傳統(tǒng)方法出現(xiàn)這么久之后,ARP攻擊還是一直無法防治的原因,ARP防火墻、殺毒軟件、IP-MAC綁定等防不了ARP攻擊!
綜上所述,想要徹底解決ARP攻擊,只有填補以太網(wǎng)漏洞,加固網(wǎng)絡(luò)底層安全才是徹底擺脫ARP困擾的終極解決方案。建議大家上網(wǎng)找下能夠保護內(nèi)網(wǎng)安全、針對網(wǎng)絡(luò)底層安全的產(chǎn)品。
法一:使用Sniffer抓包
在網(wǎng)絡(luò)中的任意一臺主機上運行抓包軟件,捕獲所有到達本主機的數(shù)據(jù)包。如果發(fā)現(xiàn)某個IP不斷發(fā)送ARP Request請求包,這臺主機一定就是病毒源。
原理:無論是何種ARP病毒變種,行為方式主要有兩種:一是欺騙網(wǎng)關(guān),二是欺騙網(wǎng)內(nèi)的所有主機。最終的結(jié)果是在網(wǎng)關(guān)的ARP緩存表中,網(wǎng)內(nèi)所有活動主機的MAC地址均為中病毒主機的MAC地址;網(wǎng)內(nèi)所有主機的ARP緩存表中,網(wǎng)關(guān)的MAC地址也都是中病毒主機的MAC地址。前者保證了從網(wǎng)關(guān)到網(wǎng)內(nèi)主機的數(shù)據(jù)報被發(fā)送到中毒主機,后者則相反,使得主機發(fā)往網(wǎng)關(guān)的數(shù)據(jù)報均被發(fā)送到中毒主機。
方法二:使用arp -a命令
任意選擇兩臺不能上網(wǎng)的主機,在命令提示符狀態(tài)下運行arp -a命令,如果在結(jié)果中,兩臺電腦除了網(wǎng)關(guān)的IP,MAC地址對應(yīng)項外,都包含了另外一個IP,這可以斷定這個IP就是病毒源。
原理:一般情況下,網(wǎng)內(nèi)的主機只和網(wǎng)關(guān)通信。正常情況下,一臺主機的ARP緩存中應(yīng)該只有網(wǎng)關(guān)的MAC地址。如果有了其他主機的MAC地址,說明本地主機和這臺主機最近有過數(shù)據(jù)通信發(fā)生。如果某臺主機既不是網(wǎng)關(guān)也不是服務(wù)器,但和網(wǎng)內(nèi)的其他主機都有數(shù)據(jù)通信活動,且此時又是ARP病毒的發(fā)作時期,那么病毒源就是他了。
方法三:使用tracert命令
在任意一臺受影響的主機上,在命令提示符狀態(tài)下運行tracert命令,具體的命令行為:tracert IP(該IP為外網(wǎng)地址),在跟蹤一個外網(wǎng)地址時,第一跳卻是另一個IP(不是網(wǎng)關(guān)地址),則這個IP就是病毒源。
原理:中毒主機在受影響的主機和網(wǎng)關(guān)之間,扮演著“中間人”的角色。所有本應(yīng)該到達網(wǎng)關(guān)的數(shù)據(jù)包,由于錯誤的MAC地址,均被發(fā)送到了中毒主機上,此時中毒主機在該網(wǎng)絡(luò)中充當缺省網(wǎng)關(guān)的作用。