局域網(wǎng)內(nèi)的所有主機上網(wǎng)時斷時續(xù),十有八九是ARP病毒在作祟,例如前段時間猖狂作案的“熊貓燒香”病毒就是一個ARP病毒。我們處理這樣的情況時,第一步首先找出感染病毒的主機,然后將其從網(wǎng)絡中斷開,清除對網(wǎng)內(nèi)其他機器的影響后,然后再慢慢收拾病毒。
第一招:使用Sniffer抓包
在網(wǎng)絡內(nèi)任意一臺主機上運行抓包軟件,捕獲所有到達本機的數(shù)據(jù)包。如果發(fā)現(xiàn)有某個IP不斷發(fā)送
ARP Request請求包,那么這臺電腦一般就是病毒源。
原理:無論何種ARP病毒變種,行為方式有兩種,一是欺騙網(wǎng)關,二是欺騙網(wǎng)內(nèi)的所有主機。最終的結果是,在網(wǎng)關的ARP緩存表中,網(wǎng)內(nèi)所有活動主機的MAC 地址均為中毒主機的MAC地址;網(wǎng)內(nèi)所有主機的ARP緩存表中,網(wǎng)關的MAC地址也成為中毒主機的MAC地址。前者保證了從網(wǎng)關到網(wǎng)內(nèi)主機的數(shù)據(jù)包被發(fā)到中毒主機,后者相反,使得主機發(fā)往網(wǎng)關的數(shù)據(jù)包均發(fā)送到中毒主機。
第二招:使用arp -a命令
任意選兩臺不能上網(wǎng)的主機,在DOS命令窗口下運行arp -a命令。例如在結果中,兩臺電腦除了網(wǎng)關的IP,MAC地址對應項,都包含了116.13.161.49的這個IP,則可以斷定116.13.161.49這臺主機就是病毒源。
原理:一般情況下,網(wǎng)內(nèi)的主機只和網(wǎng)關通信。正常情況下,一臺主機的ARP緩存中應該只有網(wǎng)關的MAC地址。如果有其他主機的MAC地址,說明本地主機和這臺主機最后有過數(shù)據(jù)通信發(fā)生。如果某臺主機(例如上面的116.13.161.49)既不是網(wǎng)關也不是服務器,但和網(wǎng)內(nèi)的其他主機都有通信活動,且此時又是ARP病毒發(fā)作時期,那么,病毒源也就是它了。
第三招:使用tracert命令
在任意一臺受影響的主機上,在DOS命令窗口下運行如下命令:tracert 202.96.134.133。
假定設置的缺省網(wǎng)關為116.13.161.254,在跟蹤一個外網(wǎng)地址時,第一跳卻是116.13.161.49,那么,116.13.161.49就是病毒源。
原理:中毒主機在受影響主機和網(wǎng)關之間,扮演了“中間人”的角色。所有本應該到達網(wǎng)關的數(shù)據(jù)包,由于錯誤的MAC地址,均被發(fā)到了中毒主機。此時,中毒主機越俎代庖,起了缺省網(wǎng)關的作用。