sniffer 工具
Sniffer,中文可以翻譯為嗅探器,是一種基于被動偵聽原理的網絡分析方式。使用這種技術方式,可以監視網絡的狀態、數據流動情況以及網絡上傳輸的信息。當信息以明文的形式在網絡上傳輸時,便可以使用網絡監聽的方式來進行***。將網絡接口設置在監聽模式,便可以將網上傳輸的源源不斷的信息截獲。Sniffer技術常常被***們用來截獲用戶的口令,據說某個骨干網絡的路由器網段曾經被***攻入,并嗅探到大量的用戶口令。但實際上Sniffer技術被廣泛地應用于網絡故障診斷、協議分析、應用性能分析和網絡安全保障等各個領域。
本文將詳細介紹Sniffer的原理和應用。
一、Sniffer 原理
1.網絡技術與設備簡介
在講述Sniffer的概念之前,首先需要講述局域網設備的一些基本概念。
數據在網絡上是以很小的稱為幀(Frame)的單位傳輸的,幀由幾部分組成,不同的部分執行不同的功能。幀通過特定的稱為網絡驅動程序的軟件進行成型,然后通過網卡發送到網線上,通過網線到達它們的目的機器,在目的機器的一端執行相反的過程。接收端機器的以太網卡捕獲到這些幀,并告訴操作系統幀已到達,然后對其進行存儲。就是在這個傳輸和接收的過程中,嗅探器會帶來安全方面的問題。
每一個在局域網(LAN)上的工作站都有其硬件地址,這些地址惟一地表示了網絡上的機器(這一點與Internet地址系統比較相似)。當用戶發送一個數據包時,這些數據包就會發送到LAN上所有可用的機器。
如果使用Hub/即基于共享網絡的情況下,網絡上所有的機器都可以“聽”到通過的流量,但對不屬于自己的數據包則不予響應(換句話說,工作站A不會捕獲屬于工作站B的數據,而是簡單地忽略這些數據)。如果某個工作站的網絡接口處于混雜模式(關于混雜模式的概念會在后面解釋),那么它就可以捕獲網絡上所有的數據包和幀。
但是現代網絡常常采用交換機作為網絡連接設備樞紐,在通常情況下,交換機不會讓網絡中每一臺主機偵聽到其他主機的通訊,因此Sniffer技術在這時必須結合網絡端口鏡像技術進行配合。而衍生的安全技術則通過ARP欺騙來變相達到交換網絡中的偵聽。
2.網絡監聽原理
Sniffer程序是一種利用以太網的特性把網絡適配卡(NIC,一般為以太網卡)置為雜亂(promiscuous)模式狀態的工具,一旦網卡設置為這種模式,它就能接收傳輸在網絡上的每一個信息包。
普通的情況下,網卡只接收和自己的地址有關的信息包,即傳輸到本地主機的信息包。要使Sniffer能接收并處理這種方式的信息,系統需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情況下,網絡硬件和TCP/IP堆棧不支持接收或者發送與本地計算機無關的數據包,所以,為了繞過標準的TCP/IP堆棧,網卡就必須設置為我們剛開始講的混雜模式。一般情況下,要激活這種方式,內核必須支持這種偽設備Bpfilter,而且需要root權限來運行這種程序,所以sniffer需要root身份安裝,如果只是以本地用戶的身份進入了系統,那么不可能喚探到root的密碼,因為不能運行Sniffer。
也有基于無線網絡、廣域網絡(DDN, FR)甚至光網絡(POS、Fiber Channel)的監聽技術,這時候略微不同于以太網絡上的捕獲概念,其中通常會引入TAP (測試介入點)這類的硬件設備來進行數據采集。
3. Sniffer的分類
Sniffer分為軟件和硬件兩種,軟件的Sniffer有 Sniffer Pro、Network Monitor、PacketBone等,其優點是易于安裝部署,易于學習使用,同時也易于交流;缺點是無法抓取網絡上所有的傳輸,某些情況下也就無法真正了解網絡的故障和運行情況。硬件的Sniffer通常稱為協議分析儀,一般都是商業性的,價格也比較昂貴,但會具備支持各類擴展的鏈路捕獲能力以及高性能的數據實時捕獲分析的功能。
基于以太網絡嗅探的Sniffer只能抓取一個物理網段內的包,就是說,你和監聽的目標中間不能有路由或其他屏蔽廣播包的設備,這一點很重要。所以,對一般撥號上網的用戶來說,是不可能利用Sniffer來竊聽到其他人的通信內容的。
4.網絡監聽的目的
當一個***成功地攻陷了一臺主機,并拿到了root權限,而且還想利用這臺主機去***同一(物理)網段上的其他主機時,他就會在這臺主機上安裝Sniffer軟件,對以太網設備上傳送的數據包進行偵聽,從而發現感興趣的包。如果發現符合條件的包,就把它存到一個LOg文件中去。通常設置的這些條件是包含字“username”或“password”的包,這樣的包里面通常有***感興趣的密碼之類的東西。一旦***截獲得了某臺主機的密碼,他就會立刻進入這臺主機。
如果Sniffer運行在路由器上或有路由功能的主機上,就能對大量的數據進行監控,因為所有進出網絡的數據包都要經過路由器。
Sniffer屬于第M層次的***。就是說,只有在***者已經進入了目標系統的情況下,才能使用Sniffer這種***手段,以便得到更多的信息。
Sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個重要的信息、在網上傳送的金融信息等等。Sniffer幾乎能得到任何在以太網上傳送的數據包。
二、Sniffer產品介紹
網絡的安全性和高可用性是建立在有效的網絡管理基礎之上的,網絡管理包括配置管理、故障管理、性能管理、安全管理和計費管理五大部分。對于企業計算機網絡來說,網絡故障管理主要側重于實時的監控,而網絡性能管理更看中歷史分析。
Sniffer網絡分析儀是一個網絡故障、性能和安全管理的有力工具,它能夠自動地幫助網絡專業人員維護網絡,查找故障,極大地簡化了發現和解決網絡問題的過程,廣泛適用于Ethernet、Fast Ethernet、Token Ring、Switched LANs、FDDI、X.25、DDN、Frame Relay、ISDN、ATM和Gigabits等網絡。
1.1 Sniffer產品的基本功能包括:
? 網絡安全的保障與維護
1. 對異常的網絡***的實時發現與告警;
2. 對高速網絡的捕獲與偵聽;
3. 全面分析與解碼網絡傳輸的內容;
? 面向網絡鏈路運行情況的監測
1. 各種網絡鏈路的運行情況;
2. 各種網絡鏈路的流量及阻塞情況;
3. 網上各種協議的使用情況;
4. 網絡協議自動發現;
5. 網絡故障監測;
? 面向網絡上應用情況的監測
1. 任意網段應用流量、流向;
2. 任意服務器應用流量、流向;
3. 任意工作站應用流量、流向;
4. 典型應用程序響應時間;
5. 不同網絡協議所占帶寬比例;
6. 不同應用流量、流向的分布情況及拓撲結構;
? 強大的協議解碼能力,用于對網絡流量的深入解析
1. 對各種現有網絡協議進行解碼;
2. 對各種應用層協議進行解碼;
3. Sniffer協議開發包(PDK)可以讓用戶簡單方便地增加用戶自定義的協議;
? 網絡管理、故障報警及恢復
運用強大的專家分析系統幫助維護人員在最短時間內排除網絡故障;
1.2 實時監控統計和告警功能
根據用戶習慣,Sniffer可提供實時數據或圖表方式顯示統計結果,統計內容包括:
? 網絡統計:如當前和平均網絡利用率、總的和當前的幀數及字節數、總站數和激活的站數、協議類型、當前和總的平均幀長等。
? 協議統計:如協議的網絡利用率、協議的數、協議的字節數以及每種協議中各種不同類型的幀的統計等。
? 差錯統計:如錯誤的CRC校驗數、發生的碰撞數、錯誤幀數等。
? 站統計:如接收和發送的幀數、開始時間、停止時間、消耗時間、站狀態等。最多可統計1024個站。
? 幀長統計:如某一幀長的幀所占百分比,某一幀長的幀數等。
當某些指標超過規定的閾值時,Sniffer可以自動顯示或采用有聲形式的告警。
Sniffer可根據網絡管理者的要求,自動將統計結果生成多種統計報告格式,并可存盤或打印輸出。
1.3 Sniffer實時專家分析系統
高度復雜的網絡協議分析工具能夠監視并捕獲所有網絡上的信息數據包,并同時建立一個特有網絡環境下的目標知識庫。智能的專家技術掃描這些信息以檢測網絡異常現象,并自動對每種異常現象進行歸類。所有異常現象被歸為兩類:一類是symptom(故障征兆提示,非關鍵事件例如單一文件的再傳送),另一類是diagnosis(已發現故障的診斷,重復出現的事件或要求立刻采取行動的致命錯誤)。經過問題分離、分析且歸類后,Sniffer將實時地,自動發出一份警告、對問題進行解釋并提出相應的建議解決方案。
Sniffer與其他網絡協議分析儀最大的差別在于它的人工智能專家系統(Expert System)。簡單地說,Sniffer能自動實時監視網絡,捕捉數據,識別網絡配置,自動發現網絡故障并進行告警,它能指出:
? 網絡故障發生的位置,以及出現在OSI第幾層。
? 網絡故障的性質,產生故障的可能的原因以及為解決故障建議采取的行動。
? Sniffer 還提供了專家配制功能,用戶可以自已設定專家系統判斷故障發生的觸發條件。
? 有了專家系統,您無需知道那些數據包構成網絡問題,也不必熟悉網絡協議,更不用去了解這些數據包的內容,便能輕松解決問題。
1.4 OSI全協議七層解碼
Sniffer的軟件非常豐富,可以對在各種網絡上運行的400多種協議進行解碼,如TCP/IP、Novell Netware、DECnet、SunNFS、X-Windows、HTTP、TNS SLQ*Net v2(Oracle)、Banyan v5.0和v6.0、TDS/SQL(Sybase)、X.25、Frame Realy、PPP、Rip/Rip v2、EIGRP、APPN、SMTP等。還廣泛支持專用的網絡互聯橋/路由器的幀格式。
Sniffer可以在全部七層OSI協議上進行解碼,目前沒有任何一個系統可以做到對協議有如此透徹的分析;它采用分層方式,從最低層開始,一直到第七層,甚至對ORACAL數據庫、SYBASE數據庫都可以進行協議分析;每一層用不同的顏色加以區別。
Sniffer對每一層都提供了Summary(解碼主要規程要素)、Detail(解碼全部規程要素)、Hex(十六進制碼)等幾種解碼窗口。在同一時間,最多可以打開六個觀察窗口。
Sniffer還可以進行強制解碼功能(Protocl Forcing),如果網絡上運行的是非標準協議,可以使用一個現有標準協議樣板去嘗試解釋捕獲的數據。
Sniffer提供了在線實時解碼分析和在線捕捉,將捕捉的數據存盤后進行解碼分析二種功能。
二、Sniffer的商業應用
Sniffer被 Network General公司注冊為商標,這家公司以出品Sniffer Pro系列產品而知名。目前最新版本為Sniffer Portable 4.9,這類產品通過網絡嗅探這一技術方式,對數據協議進行捕獲和解析,能夠大大幫助故障診斷和網絡應用性能的分析鑒別。
Network General 已經被NetScout公司收購。
三、Sniffer的擴展應用
1、專用領域的Sniffer
Sniffer被廣泛應用到各種專業領域,例如FIX (金融信息交換協議)、MultiCast(組播協議)、3G (第三代移動通訊技術)的分析系統。其可以解析這些專用協議數據,獲得完整的解碼分析。
2、長期存儲的Sniffer應用
由于現代網絡數據量驚人,帶寬越來越大。采用傳統方式的Sniffer產品很難適應這類環境,因此誕生了伴隨有大量硬盤存儲空間的長期記錄設備。例如nGenius Infinistream等。
3、易于使用的Sniffer輔助系統
由于協議解碼這類的應用曲高和寡,很少有人能夠很好的理解各類協議。但捕獲下來的數據卻非常有價值。因此在現代意義上非常流行如何把協議數據采用最好的方式進行展示,包括產生了可以把Sniffer數據轉換成Excel的BoneLight類型的應用和把Sniffer分析數據進行圖形化的開源系統PacketMap等。這類應用使用戶能夠更簡明地理解Sniffer數據。
英文原意:用鼻吸毒者,嗅探器
轉載于:https://blog.51cto.com/llier/134070
總結
以上是生活随笔為你收集整理的sniffer 工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件评测师教程笔记(更新中)
- 下一篇: 百味扶胰系假药 冒用降糖宁胶囊批号