這是什麼問題?設備壞了嗎?不可能幾台設備同時出問題。一定是有什麼大流量的數據文件,耗盡了網絡設備的資源,它們是什麼?怎麼看到它們?這時有經驗的網管人員會想到用局域網抓包工具來分析一下。
你一定聽說過紅色代碼、Nimda、沖擊波以及震蕩波這些臭名昭著的網絡殺手。就是它們制造了上述種種惡行。它們來勢洶洶,5自學網,阻塞網絡、感染主機,讓網絡管理員苦不堪言。當網絡病毒出現時,如何才能及時發現染毒主機?下面我根據網絡病毒都有掃描網絡地址的特點,給大家介紹一個很實用的方法:用抓包工具尋找病毒源。
1.安裝抓包工具。目的就是用它分析網絡數據包的內容。找一個免費的或者試用版的抓包工具並不難。我使用了一種叫做SpyNet3.12 的抓包工具,非常小巧, 運行的速度也很快。安裝完畢後我們就有了一台抓包主機。你可以通過SpyNet設置抓包的類型,比如是要捕獲IP包還是ARP包,還可以根據目的地址的不同,設置更詳細的過濾參數。
2.配置網絡路由。你的路由器有缺省網關嗎?如果有,指向了哪裡?在病毒爆發的時候把缺省網關指向另外一台路由器是很危險的(除非你想搞癱這台路由器)。在一些企業網裡往往僅指出網內地址段的路由,而不加缺省路由,那麼就把缺省路由指到抓包主機上吧(它不下地獄誰下地獄?當然這台主機的性能最好是高一點的,否則很容易被病毒沖擊而亡)。這樣可以讓那些病毒主機發出的絕大部分掃描都自動送上門來。或者把網絡的出口映像到抓包主機上,所有對外訪問的網絡包都會被分析到。 3.開始抓包。抓包主機已經設置好了,網絡裡的數據包也已經送過來了,那麼我們看看網絡裡傳輸的到底是些什麼。打開SpyNet 點擊Capture 你會看到好多的數據顯示出來,這些就是被捕獲的數據包(如圖)。
圖中的主體窗口裡顯示了抓包的情況。列出了抓到數據包的序號、時間、源目的MAC地址、源目的IP地址、協議類型、源目的端口號等內容。很容易看出IP地址為10.32.20.71的主機在極短的時間內向大量的不同主機發出了訪問請求,並且目的端口都是445。
4.找出染毒主機。從抓包的情況看,主機10.32.20.71值得懷疑。首先我們看一下目的IP地址,這些地址我們網絡裡存在嗎?很可能網絡裡根本就沒有這些網段。其次,自學教程,正常情況下訪問主機有可能在這麼短的時間裡發起這麼多的訪問請求嗎?在毫秒級的時間內發出幾十甚至幾百個連接請求,正常嗎?顯然這台10.32.20.71的主機肯定有問題。再了解一下Microsoft-DS協議,該協議存在拒絕服務攻擊的漏洞,連接端口是445,從而進一步證實了我們的判斷。這樣我們就很容易地找到了染毒主機的IP地址。剩下的工作就是給該主機操作系統打補丁殺病毒了。
既然抓到了病毒包,我們看一下這個數據包二進制的解碼內容:
這些數據包的長度都是62個字節。數據包前12個字節包括了目的MAC和源MAC的地址信息,緊跟著的2字節指出了數據包的類型,0800代表的是IP包格式,0806代表ARP包格式。接著的20個字節是封裝的IP包頭,包括了源、目的IP地址、IP版本號等信息。剩下的28個字節封裝的是TCP包頭,包括了源、目的端口,TCP鏈接的狀態信息等。這就構成了一個62字節的包。可以看出除了這些包頭數據之外,這個包沒有攜帶其他任何的有效數據負荷,所以這是一個TCP要求445端口同步的空包,也就是病毒主機在掃描445端口。一旦染毒主機同步上沒有采取防護措施的主機445端口,便會利用系統漏洞傳播感染。