筆者是某單位大樓的一名網(wǎng)絡(luò)管理員,平時(shí)主要任務(wù)就是維護(hù)大樓局域網(wǎng)網(wǎng)絡(luò)的安全、穩(wěn)定運(yùn)行。最近一段時(shí)間,隔三差五的,大樓局域網(wǎng)網(wǎng)絡(luò)總會(huì)發(fā)生一些故障:有的時(shí)候某個(gè)工作子網(wǎng)能夠正常訪問Internet網(wǎng)絡(luò),但另外某個(gè)工作子網(wǎng)卻不能正常上網(wǎng)訪問;在同一個(gè)工作子網(wǎng)中,有的工作站能夠正常上網(wǎng),有的工作站卻不能訪問Internet網(wǎng)絡(luò);甚至有的時(shí)候,單位大樓中的所有工作子網(wǎng)都不能訪問外部網(wǎng)絡(luò)。除了單位同事的抱怨,還經(jīng)常被單位領(lǐng)導(dǎo)“請”去教訓(xùn)一下,弄得筆者焦頭爛額的。

  故障接二連三發(fā)生

  以前單位大樓網(wǎng)絡(luò)偶爾也發(fā)生過有的工作站能上網(wǎng)、有的工作站不能上網(wǎng)的故障現(xiàn)象,遇到這種故障現(xiàn)象時(shí),筆者曾經(jīng)使用專業(yè)的數(shù)據(jù)抓包工具進(jìn)行抓包分析,不過仔細(xì)分析之后,并沒有從中找到具體的故障發(fā)生根源,每次只是簡單地重新啟動(dòng)一下大樓局域網(wǎng)的交換機(jī)設(shè)備以及防火墻設(shè)備,所有工作站的網(wǎng)絡(luò)訪問狀態(tài)就都能恢復(fù)正常了。不過如此頻繁地通過重新啟動(dòng)交換機(jī)和防火墻,來解決網(wǎng)絡(luò)故障現(xiàn)象,也不是一個(gè)有效的辦法啊,畢竟經(jīng)常頻繁地重新啟動(dòng)類似交換機(jī)這樣的重要網(wǎng)絡(luò)設(shè)備,不但會(huì)降低大樓局域網(wǎng)網(wǎng)絡(luò)的運(yùn)行穩(wěn)定性,而且時(shí)間一長交換機(jī)之類的網(wǎng)絡(luò)設(shè)備使用壽命也會(huì)縮短。更為嚴(yán)重的情況是,即使有的時(shí)候重新啟動(dòng)了交換機(jī)之類的網(wǎng)絡(luò)設(shè)備,沒有幾分鐘的時(shí)間,網(wǎng)絡(luò)故障又會(huì)再次發(fā)生了;很明顯,如果不從源頭上找到網(wǎng)絡(luò)故障根源的話,那么網(wǎng)絡(luò)故障現(xiàn)象將會(huì)接二連三地發(fā)生,那么單位大樓網(wǎng)絡(luò)的運(yùn)行效率就會(huì)大大下降。

  初步排查故障現(xiàn)象

  單位大樓局域網(wǎng)的拓?fù)浣Y(jié)構(gòu)主要是一臺(tái)通過寬帶光纖與本地ISP直接相連的硬件防火墻,以及與硬件防火墻保持連接的核心路由交換機(jī),其中核心路由交換機(jī)中劃分了70個(gè)VLAN.為了尋找網(wǎng)絡(luò)故障根源,筆者先是在局域網(wǎng)的任意一臺(tái)普通工作站中依次單擊“開始”/“運(yùn)行”命令,在彈出的系統(tǒng)運(yùn)行對話框中輸入“cmd”命令,單擊回車鍵后,將系統(tǒng)工作狀態(tài)切換到DOS命令行狀態(tài),在該狀態(tài)的命令行提示符下輸入字符串命令“ping 10.176.1.2”(其中10.176.1.2是本地局域網(wǎng)網(wǎng)絡(luò)的網(wǎng)關(guān)地址),單擊回車鍵后,屏幕上返回了本地局域網(wǎng)網(wǎng)絡(luò)的網(wǎng)關(guān)地址能夠被正常Ping通的測試結(jié)果(如圖1所示);接著,筆者又在命令行提示符下輸入字符串命令“ping 10.176.1.3”(其中10.176.1.3是本地局域網(wǎng)網(wǎng)絡(luò)的防火墻地址),單擊回車鍵后,屏幕上同樣返回了本地局域網(wǎng)網(wǎng)絡(luò)的防火墻地址能夠被正常Ping通的測試結(jié)果。通過上面的測試,筆者認(rèn)為大樓內(nèi)網(wǎng)到網(wǎng)絡(luò)出口之間的網(wǎng)絡(luò)連接一切都很正常。

  為了檢驗(yàn)防火墻到本地ISP之間的寬帶連接線路是否處于通暢狀態(tài),筆者通過telnet命令遠(yuǎn)程登錄到防火墻設(shè)備中,并在該設(shè)備的遠(yuǎn)程登錄狀態(tài)下Ping了一下本地ISP的網(wǎng)關(guān)地址,測試結(jié)果發(fā)現(xiàn)本地ISP的網(wǎng)關(guān)地址也能被正常Ping通,這說明單位大樓網(wǎng)絡(luò)能夠正常訪問到本地ISP.對于上面的測試結(jié)果筆者百思不得其解,本地局域網(wǎng)的網(wǎng)關(guān)地址能夠被正常Ping通,本地網(wǎng)絡(luò)到本地ISP之間的網(wǎng)絡(luò)連接也是通暢的,但偏偏局域網(wǎng)中的某些工作站就不能上網(wǎng)訪問,難道問題出在局域網(wǎng)工作站身上?但轉(zhuǎn)念一想,還是不太可能,如果網(wǎng)絡(luò)不出問題的話,最多只有一臺(tái)或幾臺(tái)工作站不能上網(wǎng),但現(xiàn)在有的時(shí)候會(huì)出現(xiàn)某一個(gè)工作子網(wǎng)工作站都不能上網(wǎng)的故障現(xiàn)象,這說明網(wǎng)絡(luò)肯定是有問題的!經(jīng)過仔細(xì)分析故障現(xiàn)象,以及對比測試結(jié)果,筆者初步認(rèn)為這種故障現(xiàn)象很可能是由網(wǎng)絡(luò)中的ARP病毒造成的;因?yàn)橐坏┚钟蚓W(wǎng)網(wǎng)絡(luò)感染了ARP病毒時(shí),局域網(wǎng)工作站在上網(wǎng)訪問時(shí)會(huì)將上網(wǎng)請求信息全部轉(zhuǎn)發(fā)到虛假的網(wǎng)關(guān)設(shè)備上,最終會(huì)造成工作站都不能上網(wǎng)的故障現(xiàn)象。

  深入解決故障現(xiàn)象

  為了確認(rèn)ARP病毒是不是最終的故障根源,筆者在局域網(wǎng)的一臺(tái)普通工作站中打開MS-DOS窗口,在該窗口的命令行提示符下輸入“arp -a”字符串命令,單擊回車鍵后,筆者發(fā)現(xiàn)本地網(wǎng)關(guān)設(shè)備的物理地址變成了000d-87f8-36d3,這個(gè)地址與核心路由交換機(jī)上設(shè)置的網(wǎng)關(guān)真實(shí)物理地址完全不同,這說明局域網(wǎng)網(wǎng)絡(luò)中果然存在ARP病毒。

  那么局域網(wǎng)中究竟是哪一臺(tái)工作站感染了ARP病毒呢?由于單位大樓局域網(wǎng)網(wǎng)絡(luò)包含10個(gè)VLAN,每一個(gè)VLAN下面連接的計(jì)算機(jī)數(shù)量也是不斷處于動(dòng)態(tài)變化之中,因此單純依靠傳統(tǒng)方法很難快速找到感染了ARP病毒的目標(biāo)工作站系統(tǒng)。想到在組建大樓局域網(wǎng)網(wǎng)絡(luò)時(shí),工作人員曾經(jīng)創(chuàng)建了VLAN數(shù)據(jù)對照表,從該對照表中網(wǎng)絡(luò)管理員能夠快速查詢到每一個(gè)VLAN中包含了哪些網(wǎng)絡(luò)連接端口,每一個(gè)網(wǎng)絡(luò)連接端口位于單位的哪一個(gè)房間。為此,筆者打算先找出究竟是哪些VLAN中存在ARP病毒,之后根據(jù)查找出來的虛假網(wǎng)關(guān)物理地址信息,尋找到感染了ARP病毒的工作站來自特定工作站的哪個(gè)端口,最后再查找對照表找到故障工作站所在的房間號(hào)碼,最后電話聯(lián)系房間主人隔離殺毒。

  由于筆者單位使用的交換機(jī)支持診斷功能,于是筆者打算利用該功能尋找局域網(wǎng)中的ARP病毒。筆者先是利用超級(jí)終端程序連接到單位核心交換機(jī)上,并進(jìn)入特權(quán)模式;在特權(quán)模式命令行狀態(tài)下,輸入字符串命令“dis dia”(顯示診斷信息),單擊回車鍵后,系統(tǒng)詢問是否要進(jìn)行診斷操作,為了能夠查看到所有的診斷信息,筆者在進(jìn)行回答之前,先依次單擊超級(jí)終端界面中的“捕捉”/“捕捉到文本”命令,再設(shè)置好診斷信息保存的路徑以及文件名稱,最后單擊“y”(如圖2所示),開始進(jìn)行診斷檢查,診斷檢查的結(jié)果會(huì)被自動(dòng)捕捉保存到指定的文本文件中。

  診斷結(jié)束后,筆者立即打開指定的文本文件,從中果然看到VLAN61中的網(wǎng)關(guān)設(shè)備物理地址變成了000d-87f8-36d3.之后,筆者使用telnet命令登錄到VLAN61所在的交換機(jī)中,并在命令行提示符下輸入“dis mac”字符串命令,單擊回車鍵后,筆者看到了連接到VLAN61中的所有工作站網(wǎng)卡物理地址,從中筆者發(fā)現(xiàn)000d-87f8-36d3地址所對應(yīng)的工作站連接在VLAN61的e0/9端口上(如圖3所示);為了防止這臺(tái)感染了ARP病毒的工作站繼續(xù)影響網(wǎng)絡(luò)的正常訪問,筆者立即在對應(yīng)交換機(jī)的后臺(tái)管理界面,依次執(zhí)行字符串命令“inter e0/9”(進(jìn)入端口修改模式狀態(tài))、“shutdown”(關(guān)閉端口),將這臺(tái)感染了ARP病毒的工作站從大樓網(wǎng)絡(luò)中隔離開來。最后,筆者查看單位的VLAN數(shù)據(jù)對照表,根據(jù)VLAN號(hào)碼、端口號(hào)碼等信息,尋找到故障工作站是四樓文印室的,打電話聯(lián)系他們,要求他們使用最新版本的殺毒軟件進(jìn)行殺毒操作,至此ARP病毒終于被揪出來了。