sniffer

sniffer

網絡分析方式
Sniffer,中文可以翻譯為嗅探器,是一種基于被動偵聽原理的網絡分析方式。使用這種技術方式,可以監視網絡的狀态、數據流動情況以及網絡上傳輸的信息。[1]
    中文名:嗅探器 外文名:sniffer 别名: 所屬學科:計算機 類型:安全殺毒 适用:互聯網

簡介

Sniffer,中文可以翻譯為嗅探器,是一種威脅性極大的被動攻擊工具。使用這種工具,可以監視網絡的狀态、數據流動情況以及網絡上傳輸的信息。當信息以明文的形式在網絡上傳輸時,便可以使用網絡監聽的方式來進行攻擊。将網絡接口設置在監聽模式,便可以将網上傳輸的源源不斷的信息截獲。黑客們常常用它來截獲用戶的口令。據說某個骨幹網絡的路由器曾經被黑客攻入,并嗅探到大量的用戶口令。本文将詳細介紹Sniffer的原理和應用。

1.網絡技術與設備簡介

在講述Sni計er的概念之前,首先需要講述局域網設備的一些基本概念。

數據在網絡上是以很小的稱為幀(Frame)的單位傳輸的,幀由幾部分組成,不同的部分執行不同的功能。幀通過特定的稱為網絡驅動程序的軟件進行成型,然後通過網卡發送到網線上,通過網線到達它們的目的機器,在目的機器的一端執行相反的過程。接收端機器的以太網卡捕獲到這些幀,并告訴操作系統幀已到達,然後對其進行存儲。就是在這個傳輸和接收的過程中,嗅探器會帶來安全方面的問題。

每一個在局域網(LAN)上的工作站都有其硬件地址,這些地址惟一地表示了網絡上的機器(這一點與Internet地址系統比較相似)。當用戶發送一個數據包時,這些數據包就會發送到LAN上所有可用的機器。

在一般情況下,網絡上所有的機器都可以“聽”到通過的流量,但對不屬于自己的數據包則不予響應(換句話說,工作站A不會捕獲屬于工作站B的數據,而是簡單地忽略這些數據)。如果某個工作站的網絡接口處于混雜模式(關于混雜模式的概念會在後面解釋),那麼它就可以捕獲網絡上所有的數據包和幀。

2.網絡監聽原理

Sniffer程序是一種利用以太網的特性把網絡适配卡(NIC,一般為以太網卡)置為雜亂(promiscuous)模式狀态的工具,一旦網卡設置為這種模式,它就能接收傳輸在網絡上的每一個信息包。

普通的情況下,網卡隻接收和自己的地址有關的信息包,即傳輸到本地主機的信息包。要使Sniffer能接收并處理這種方式的信息,系統需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情況下,網絡硬件和TCP/IP堆棧不支持接收或者發送與本地計算機無關的數據包,所以,為了繞過标準的TCP/IP堆棧,網卡就必須設置為我們剛開始講的混雜模式。一般情況下,要激活這種方式,内核必須支持這種僞設備Bpfilter,而且需要root權限來運行這種程序,所以sniffer需要root身份安裝,如果隻是以本地用戶的身份進入了系統,那麼不可能喚探到root的密碼,因為不能運行Sniffer。

基于Sniffer這樣的模式,可以分析各種信息包并描述出網絡的結構和使用的機器,由于它接收任何一個在同一(物理)網段上傳輸的數據包,所以也就存在着捕獲密碼、各種信息、秘密文檔等一些沒有加密的信息的可能性。這成為黑客們常用的擴大戰果的方法,用來奪取其他主機的控制權 。

3. Snifffer的分類

Sniffer分為軟件和硬件兩種,軟件的Sniffer有 NetXray、Packetboy、Net monitor等,其優點是物美價廉,易于學習使用,同時也易于交流;缺點是無法抓取網絡上所有的傳輸,某些情況下也就無法真正了解網絡的故障和運行情況。硬件的Sniffer通常稱為協議分析儀,一般都是商業性的,價格也比較貴。

實際上本文中所講的Sniffer指的是軟件。它把包抓取下來,然後打開并查看其中的内容,可以得到密碼等。Sniffer隻能抓取一個物理網段内的包,就是說,你和監聽的目标中間不能有路由或其他屏蔽廣播包的設備,這一點很重要。所以,對一般撥号上網的用戶來說,是不可能利用Sniffer來竊聽到其他人的通信内容的。

4.網絡監聽的目的

當一個黑客成功地攻陷了一台主機,并拿到了root權限,而且還想利用這台主機去攻擊同一(物理)網段上的其他主機時,他就會在這台主機上安裝Sniffer軟件,對以太網設備上傳送的數據包進行偵聽,從而發現感興趣的包。如果發現符合條件的包,就把它存到一個LOg文件中去。通常設置的這些條件是包含字“username”或“password”的包,這樣的包裡面通常有黑客感興趣的密碼之類的東西。一旦黑客截獲得了某台主機的密碼,他就會立刻進入這台主機。

如果Sniffer運行在路由器上或有路由功能的主機上,就能對大量的數據進行監控,因為所有進出網絡的數據包都要經過路由器。

Sniffer屬于第M層次的攻擊。就是說,隻有在攻擊者已經進入了目标系統的情況下,才能使用Sniffer這種攻擊手段,以便得到更多的信息。

Sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個重要的信息、在網上傳送的金融信息等等。Sniffer幾乎能得到任何在以太網上傳送的數據包。

Sniffer是一種比較複雜的攻擊手段,一般隻有黑客老手才有能力使用它,而對于一個網絡新手來說,即使在一台主機上成功地編譯并運行了Sniffer,一般也不會得到什麼有用的信息,因為通常網絡上的信息流量是相當大的,如果不加選擇地接收所有的包,然後從中找到所需要的信息非常困難;而且,如果長時間進行監聽,還有可能把放置Sniffer的機器的硬盤撐爆。

用Sniffer監控網絡流量

随着互聯網多層次性、多樣性的發展,網吧已由過去即時通信、浏覽網頁、電子郵件等簡單的應用,擴展成為運行大量在線遊戲、在線視頻音頻、互動教學、P2P等技術應用。應用特點也呈現出多樣性和複雜性,因此,這些應用對我們的網絡服務質量要求更為嚴格和苛刻。

目前,大多數網吧的網絡設備不具備高端網絡設備的智能性、交互性等擴展性能,當網吧出現掉線、網絡卡、遭受内部病毒攻擊、流量超限等情況時,很多網絡管理員顯的心有于而力不足。畢竟,靠網絡管理員的經驗和一些簡單傳統的排查方法:無論從時間上面還是準确性上面都存在很大的誤差,同時也影響了工作效率和正常業務的運行。

Sniffer Pro 著名網絡協議分析軟件。本文利用其強大的流量圖文系統Host Table來實時監控網絡流量。在監控軟件上,我們選擇了較為常用的NAI公司的sniffer pro,事實上,很多網吧管理員都有過相關監控網絡經驗:在網絡出現問題、或者探查網絡情況時,使用p2p終結者、網絡執法官等網絡監控軟件。這樣的軟件有一個很大優點:不要配置端口鏡像就可以進行流量查詢(其實sniffer pro也可以變通的工作在這樣的環境下)。

這種看起來很快捷的方法,仍然存在很多弊端:由于其工作原理利用ARP地址表,對地址表進行欺騙,因此可能會衍生出很多節外生枝的問題,如掉線、網絡變慢、ARP廣播巨增等。這對于要求正常的網絡來說,是不可思議的。

在這裡,我們将通過軟件解決方案來完成以往隻有通過更換高級設備才能解決的網絡解決方案,這對于很多管理員來說,将是個夢寐以求的時刻。

硬件環境(網吧)

100M網絡環境下,92台終端數量,主交換采用D-LINK(友訊)DES-3226S二層交換機(支持端口鏡像功能),級聯普通傻瓜型交換機。光纖10M接入,華為2620做為接入網關。

軟件環境

操作系統Windows2003 Server企業标準版(Sniffer Pro4.6及以上版本均支持Windows2000 Windows-xp Windows2003)、NAI協議分析軟件-Sniffer Portable 4.75(本文選用網絡上較容易下載到的版本做為測試)

環境要求

1、如果需要監控全網流量,安裝有Sniffer Portable 4.7.5(以下簡稱Sniffer Pro)的終端計算機,網卡接入端需要位于主交換鏡像端口位置。(監控所有流經此網卡的數據)

2、Snffier pro 475僅支持10M、100M、10/100M網卡,對于千M網卡,請安裝SP5補丁,或4.8及更高的版本

網絡拓撲

監控目的

通過Sniffer Pro實時監控,及時發現網絡環境中的故障(例如病毒、攻擊、流量超限等非正常行為)。對于很多企業、網吧網絡環境中,網關(路由、代理等)自身不具備流量監控、查詢功能,本文将是一個很好的解決方案。Sniffer Pro強大的實用功能還包括:網内任意終端流量實時查詢、網内終端與終端之間流量實時查詢、終端流量TOP排行、異常告警等。同時,我們将數據包捕獲後,通過Sniffer Pro的專家分析系統幫助我們更進一步分析數據包,以助更好的分析、解決網絡異常問題。

步驟一:配置交換機端口鏡像(Mirroring Configurations)

以DES-3226S二層交換機為例,我們來通過WEB方式配置端口鏡像(也可用CLI命令行模式配置)。如果您的設備不支持WEB方式配置,請參考相關用戶手冊。

1.DES-3226S默認登陸IP為:10.90.90.90 因此,需要您配置本機IP為相同網段才可通過浏覽器訪問WEB界面。

如圖(1)所示:

圖1

2.使用鼠标點擊上方紅色字體:“Login”,如果您是第一次配置,輸入默認用戶名稱、密碼:admin 自動登陸管理主界面。

3.如圖(2)所示,主界面上方以圖形方式模拟交換機界面,其中綠色燈亮起表示此端口正在使用。下方文字列出交換機的一些基本信息。

圖2

4.如圖(3):鼠标點擊左下方菜單中的advanced setup->Mirroring Configurations (高級配置—鏡像配置)

圖3

5.将Mirror Status 選擇為Enable(默認為關閉狀态,開啟),本例中将Port-1端口設置為監聽端口:Target Port=Port-1,其餘端口選擇為Both,既:監聽雙向數據(Rx接收 Tx發送),選擇完畢後,點擊Apply應用設置。

此時所有的端口數據都将複制一份到Port-1。(如圖4)

圖4

接下來,我們就可以在Port-1端口,接入計算機并安裝配置Sniffer Pro。

步驟二:Sniffer Pro 安裝、啟動、配置

Sniffer Pro 安裝過程與其它應用軟件沒有什麼太大的區别,在安裝過程中需要注意的是:

①Sniffer Pro 安裝大約占用70M左右的硬盤空間。

②安裝完畢Sniffer Pro後,會自動在網卡上加載Sniffer Pro 特殊的驅動程序(如圖5)。

③安裝的最後将提示填入相關信息及序列号,正确填寫完畢,安裝程序需要重新啟動計算機。

④對于英文不好的管理員可以下載網上的漢化補丁。

圖5

我們來啟動Sniffer Pro。第一次啟動Sniffer Pro時,需要選擇程序從那一個網絡适配器接收數據,我們指定位于端口鏡像所在位置的網卡。

具體位于:File->Select Settings->New

名稱自定義、選擇所在網卡下拉菜單,點擊确定即可。(如圖6)

圖6

這樣我們就進入了Sniffer Pro的主界面。

步驟三:新手上路,查詢網關流量

下面以圖文的方式介紹,如何查詢網關(路由、代理:219.*.238.65)流量,這也是最為常用、重要的查詢之一。

1. 掃描IP-MAC對應關系。這樣做是為了在查詢流量時,方便判斷具體流量終端的位置,MAC地址不如IP地址方便。

選擇菜單欄中Tools->Address Book 點擊左邊的放大鏡(autodiscovery 掃描)在彈出的窗口中輸入您所要掃描的IP地址段,本例輸入:219.*.238.64-219.*.238.159點擊OK,系統會自動掃描IP-MAC對應關系。掃描完畢後,點擊DataBase->Save Address Book 系統會自動保存對應關系,以備以後使用。(如圖7)

圖7

2.查看網關流量。點擊Monitor->Host Table,選擇Host table界面左下角的MAC-IP-IPX中的MAC。(為什麼選擇MAC?在網絡中,所有終端的對外數據,例如使用QQ、浏覽網站、上傳、下載等行為,都是各終端與網關在數據鍊路層中進行的)(如圖8)

圖8

3.找到網關的IP地址->選擇single station->bar (本例中網關IP為219.*.238.65)

圖9

如圖(9)所示:

219.*.238.65(網關)流量TOP-10 此圖為實時流量圖。在此之前如果我們沒有做掃描IP(Address Book)的工作,右邊将會以網卡物理地址-MAC地址的方式顯示,現在轉換為IP地址形式(或計算機名),現在很容易定位終端所在位置。流量以3D柱形圖的方式動态顯示,其中最左邊綠色柱形圖與網關流量最大,其它依次減小。本圖中219.*.238.93與網關流量最大,且與其它終端流量差距懸殊,如果這個時候網絡出現問題,可以重點檢查此IP是否有大流量相關的操作。

如果要查看219.*.238.65(網關)與内部所有流量通信圖,我們可以點擊左邊菜單中,排列第一位的->MAP按鈕

如圖(10)所示,網關與内網間的所有流量都在這裡動态的顯示。

圖10

需要注意的是:

綠色線條狀态為:正在通訊中

暗藍色線條狀态為:通信中斷

線條的粗細與流量的大小成正比

如果将鼠标移動至線條處,程序顯示出流量雙方位置、通訊流量的大小(包括接收、發送)、并自動計算流量占當前網絡的百分比。

其它主要功能:

PIE:餅圖的方式顯示TOP 10的流量占用百分比。

Detail:将Protocol(協議類型)、From Host(原主機)、in/out packets/bytes(接收、發送字節數、包數)等字段信息以二維表格的方式顯示。

第四步:基于IP層流量

1.為了進一步分析219.*.238.93的異常情況,我們切換至基于IP層的流量統計圖中看看。

點擊菜單欄中的Monitor->Host Table,選擇Host Table界面左下角的MAC-IP-IPX中的IP。

2.找到IP:219.*.238.93地址(可以用鼠标點擊IP Addr排序,以方便查找)->選擇single station->bar (如圖11所示)

圖11

3.我們切換至Traffic Map來看看它與所有IP的通信流量圖。(圖12)

圖12

我們可以從219.*.238.93的通信圖中看到,與它建立IP連接的情況。圖中IP連接數目非常大,這對于普通應用終端來講,顯然不是一種正常的業務連接。我們猜測,該終端可能正在進行有關P2P類的操作,比如正在使用P2P類軟件進行BT下載、或者正在觀看P2P類在線視頻等。

為了進一步的證明我們的猜測,我們去看看219.*.228.93的流量協議分布情況。

4.如圖(13)所示:Protocol類型絕大部分為Othen.我們知道在Sniffer Pro中Othen表示未能識别出來協議,如果提前定義了協議類型,這裡将會直接顯現出來。

圖13

如圖(14)通過菜單欄下的Tools->Options->Protocols,在第19欄中定義14405(bitcomet的默認監聽端口),取名為bitcom。

圖14

現在我們再次查看219.*.238.93協議分布情況.(如圖15)

圖15

現在,協議類型大部分都轉換為bitcom,這樣我們就可以斷定,此終端正在用bitcomet做大量上傳、下載行為。

注意:很多P2P類軟件并沒有固定的使用端口,且端口也可以自定義,因此使用本方法雖然不失為一種檢測P2P流量的好方法,但并不能完全保證其準确性。

好了,使用Sniffer Pro監控網關流量,就到這裡結束了。實際上我們可以用同樣的方法監控網絡内的任何一台終端。後續,我們将繼續連載使用Sniffer Pro監控網絡的其它新手教程,例如:利用Sniffer pro做網絡的預警機制、利用Sniffer pro分析病毒、通過包分析結合專家系統發現網絡内存在的“未知問題”,以後我們将陸續做更深一步的探讨和分析。

概念解釋

1.什麼是端口鏡像?

把交換機一個或多個端口(VLAN)的數據鏡像到一個或多個端口的方法。

2.為什麼需要端口鏡像 ?

交換機的工作原理與HUB有很大的不同,HUB組建的網絡數據交換都是通過廣播方式進行的,而交換機組建的網絡是根據交換機内部CAM表(通常也稱IP-MAC表)進行數據轉發,因此需要通過配置交換機來把一個或多個端口(VLAN)的數據轉發到某一個端口來實現對網絡的監聽。

3.端口鏡像通常有以下幾種别名:

①Port Mirroring 通常指允許把一個端口的流量複制到另外一個端口,同時這個端口不能再傳輸數據。

②Monitoring Port 監控端口

③panning Port 通常指允許把所有端口的流量複制到另外一個端口,同時這個端口不能再傳輸數據。

④PAN Port 在 Cisco 産品中,SPAN 通常指 Switch Port ANalyzer。某些交換機的 SPAN 端口不支持傳輸數據。

相關條目

古代      文學      電影      藝術

相關詞條

相關搜索

其它詞條