sniffer

NAI公司開發的攻擊工具

Sniffer,中文可以翻譯為嗅探器,是一種基於被動偵聽原理的網路分析方式。使用這種技術方式,可以監視網路的狀態、數據流動情況以及網路上傳輸的信息。

正文


sniffer
sniffer

簡介


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
sniffer
監控目的:通過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)所示:
sniffer
sniffer
圖1
2.使用滑鼠點擊上方紅色字體:“Login”,如果您是第一次配置,輸入默認用戶名稱、密碼:admin 自動登陸管理主界面。
3.如圖(2)所示,主界面上方以圖形方式模擬交換機界面,其中綠色燈亮起表示此埠正在使用。下方文字列出交換機的一些基本信息。
sniffer
sniffer
圖2
4.如圖(3):滑鼠點擊左下方菜單中的advanced setup->Mirroring Configurations (高級配置—鏡像配置)
sniffer
sniffer
圖3
5.將Mirror Status 選擇為Enable(默認為關閉狀態,開啟),本例中將Port-1埠設置為監聽埠:Target Port=Port-1,其餘埠選擇為Both,既:監聽雙向數據(Rx接收 Tx發送),選擇完畢后,點擊Apply應用設置。
此時所有的埠數據都將複製一份到Port-1。(如圖4)
sniffer
sniffer
圖4
接下來,我們就可以在Port-1埠,接入計算機並安裝配置Sniffer Pro。
步驟二:Sniffer Pro 安裝、啟動、配置
Sniffer Pro 安裝過程與其它應用軟體沒有什麼太大的區別,在安裝過程中需要注意的是:
①Sniffer Pro 安裝大約佔用70M左右的硬碟空間。
②安裝完畢Sniffer Pro后,會自動在網卡上載入Sniffer Pro 特殊的驅動程序(如圖5)。
③安裝的最後將提示填入相關信息及序列號,正確填寫完畢,安裝程序需要重新啟動計算機。
④對於英文不好的管理員可以下載網上的漢化補丁。
sniffer
sniffer
圖5
我們來啟動Sniffer Pro。第一次啟動Sniffer Pro時,需要選擇程序從那一個網路適配器接收數據,我們指定位於埠鏡像所在位置的網卡。
具體位於:File->Select Settings->New
名稱自定義、選擇所在網卡下拉菜單,點擊確定即可。(如圖6)
sniffer
sniffer
圖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)
sniffer
sniffer
圖7
2.查看網關流量。點擊Monitor->Host Table,選擇Host table界面左下角的MAC-IP-IPX中的MAC。(為什麼選擇MAC?在網路中,所有終端的對外數據,例如使用QQ、瀏覽網站、上傳、下載等行為,都是各終端與網關在數據鏈路層中進行的)(如圖8)
sniffer
sniffer
圖8
3.找到網關的IP地址->選擇single station->bar (本例中網關IP為219.*.238.65)
sniffer
sniffer
圖9
如圖(9)所示:
219.*.238.65(網關)流量TOP-10 此圖為實時流量圖。在此之前如果我們沒有做掃描IP(Address Book)的工作,右邊將會以網卡物理地址-MAC地址的方式顯示,現在轉換為IP地址形式(或計算機名),現在很容易定位終端所在位置。流量以3D柱形圖的方式動態顯示,其中最左邊綠色柱形圖與網關流量最大,其它依次減小。本圖中219.*.238.93與網關流量最大,且與其它終端流量差距懸殊,如果這個時候網路出現問題,可以重點檢查此IP是否有大流量相關的操作。
如果要查看219.*.238.65(網關)與內部所有流量通信圖,我們可以點擊左邊菜單中,排列第一位的->MAP按鈕
如圖(10)所示,網關與內網間的所有流量都在這裡動態的顯示。
sniffer
sniffer
圖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所示)
sniffer
sniffer
圖11
3.我們切換至Traffic Map來看看它與所有IP的通信流量圖。(圖12)
sniffer
sniffer
圖12
我們可以從219.*.238.93的通信圖中看到,與它建立IP連接的情況。圖中IP連接數目非常大,這對於普通應用終端來講,顯然不是一種正常的業務連接。我們猜測,該終端可能正在進行有關P2P類的操作,比如正在使用P2P類軟體進行BT下載、或者正在觀看P2P類在線視頻等。
為了進一步的證明我們的猜測,我們去看看219.*.228.93的流量協議分佈情況。
4.如圖(13)所示:Protocol類型絕大部分為Othen.我們知道在Sniffer Pro中Othen表示未能識別出來協議,如果提前定義了協議類型,這裡將會直接顯現出來。
sniffer
sniffer
圖13
如圖(14)通過菜單欄下的Tools->Options->Protocols,在第19欄中定義14405(bitcomet的默認監聽埠),取名為bitcom。
sniffer
sniffer
圖14
現在我們再次查看219.*.238.93協議分佈情況.(如圖15)
sniffer
sniffer
圖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 埠不支持傳輸數據。

相關條目


古代文學電影藝術