萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> Sniffer 介紹

Sniffer 介紹

一.有關sniffer及sniffer的含義
sniffers(嗅探器)幾乎和internet有一樣久的歷史了.Sniffer是一種常用的收集有用數據方法,這些數據可以是用戶的帳號和密碼,可以是一些商用機密數據等等。隨著Internet及電子商務的日益普及,Internet的安全也越來越受到重視。在Internet安全隱患中扮演重要角色之一的Sniffer以受到越來越大的關注,所以今天我要向大家介紹一下介紹Sniffer以及如何阻止sniffer。  
大多數的黑客僅僅為了探測內部網上的主機並取得控制權,只有那些"雄心勃勃"的黑客,為了控制整個網絡才會安裝特洛伊木馬和後門程序,並清除記錄。他們經常使用的手法是安裝sniffer。
  在內部網上,黑客要想迅速獲得大量的賬號(包括用戶名和密碼),最為有效的手段是使用 "sniffer" 程序。這種方法要求運行Sniffer 程序的主機和被監聽的主機必須在同一個以太網段上,故而在外部主機上運行sniffer是沒有效果的。再者,必須以root的身份使用sniffer 程序,才能夠監聽到以太網段上的數據流。談到以太網sniffer,就必須談到以太網sniffing。
那麼什麼是以太網sniffer呢?  
以太網sniffing是指對以太網設備上傳送的數據包進行偵聽,發
現感興趣的包。如果發現符合條件的包,就把它存到一個log文件中
去。通常設置的這些條件是包含字"username"或"password"的包。
  它的目的是將網絡層放到promiscuous模式,從而能干些事情。
Promiscuous模式是指網絡上的所有設備都對總線上傳送的數據進行
偵聽,並不僅僅是它們自己的數據。根據第二章中有關對以太網的工
作原理的基本介紹,可以知道:一個設備要向某一目標發送數據時,
它是對以太網進行廣播的。一個連到以太網總線上的設備在任何時間
裡都在接受數據。不過只是將屬於自己的數據傳給該計算機上的應用
程序。
  利用這一點,可以將一台計算機的網絡連接設置為接受所有以太
網總線上的數據,從而實現sniffer。
  sniffer通常運行在路由器,或有路由器功能的主機上。這樣就能對大量的數據進行監控。sniffer屬第二層次的攻擊。通常是攻擊者已經進入了目標系統,然後使用sniffer這種攻擊手段,以便得到更多的信息。
  sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個其他重要的信息,在網上傳送的金融信息等等。sniffer幾乎能得到任何以太網上的傳送的數據包。黑客會使用各種方法,獲得系統的控制權並留下再次侵入的後門,以保證sniffer能夠執行。在Solaris 2.x平台上,sniffer 程序通常被安裝在/usr/bin 或/dev目錄下。黑客還會巧妙的修改時間,使得sniffer程序看上去是和其它系統程序同時安裝的。
大多數以太網sniffer程序在後台運行,將結果輸出到某個記錄文件中。黑客常常會修改ps程序,使得系統管理員很難發現運行的sniffer程序。
  以太網sniffer程序將系統的網絡接口設定為混合模式。這樣,它就可以監聽到所有流經同一以太網網段的數據包,不管它的接受者或發送者是不是運行sniffer的主機。 程序將用戶名、密碼和其它黑客感興趣的數據存入log文件。黑客會等待一段時間 ----- 比如一周後,再回到這裡下載記錄文件。
講了這麼多,那麼到底我們可以用什麼通俗的話來介紹sniffer呢?
計算機網絡與電話電路不同,計算機網絡是共享通訊通道的。共享意味著計算機能夠接收到發送給其它計算機的信息。捕獲在網絡中傳輸的數據信息就稱為sniffing(竊聽)。
  以太網是現在應用最廣泛的計算機連網方式。以太網協議是在同一回路向所有主機發送數據包信息。數據包頭包含有目標主機的正確地址。一般情況下只有具有該地址的主機會接受這個數據包。如果一台主機能夠接收所有數據包,而不理會數據包頭內容,這種方式通常稱為"混雜" 模式。
  由於在一個普通的網絡環境中,帳號和口令信息以明文方式在以太網中傳輸, 一旦入侵者獲得其中一台主機的root權限,並將其置於混雜模式以竊聽網絡數據,從而有可能入侵網絡中的所有計算機。
一句話,sniffer就是一個用來竊聽的黑客手段和工具。
二、sniffer的工作原理
  通常在同一個網段的所有網絡接口都有訪問在物理媒體上傳輸的所有數據的能力,而每個網絡接口都還應該有一個硬件地址,該硬件地址不同於網絡中存在的其他網絡接口的硬件地址,同時,每個網絡至少還要一個廣播地址。(代表所有的接口地址),在正常情況下,一個合法的網絡接口應該只響應這樣的兩種數據幀:
  1、幀的目標區域具有和本地網絡接口相匹配的硬件地址。
  2、幀的目標區域具有"廣播地址"。
  在接受到上面兩種情況的數據包時,nc通過cpu產生一個硬件中斷,該中斷能引起操作系統注意,然後將幀中所包含的數據傳送給系統進一步處理。
  而sniffer就是一種能將本地nc狀態設成(promiscuous)狀態的軟件,當nc處於這種"混雜"方式時,該nc具備"廣播地址",它對所有遭遇到的每一個幀都產生一個硬件中斷以便提醒操作系統處理流經該物理媒體上的每一個報文包。(絕大多數的nc具備置成 promiscuous方式的能力)
  可見,sniffer工作在網絡環境中的底層,它會攔截所有的正在網絡上傳送的數據,並且通過相應的軟件處理,可以實時分析這些數據的內容,進而分析所處的網絡狀態和整體布局。值得注意的是:sniffer是極其安靜的,它是一種消極的安全攻擊。
  通常sniffer所要關心的內容可以分成這樣幾類:
  1、口令
  我想這是絕大多數非法使用sniffer的理由,sniffer可以記錄到明文傳送的userid和passwd.就算你在網絡傳送過程中使用了加密的數據,sniffer記錄的數據一樣有可能使入侵者在家裡邊吃肉串邊想辦法算出你的算法。
  2、金融帳號
  許多用戶很放心在網上使用自己的信用卡或現金帳號,然而sniffer可以很輕松截獲在網上傳送的用戶姓名、口令、信用卡號碼、截止日期、帳號和pin.
  3、偷窺機密或敏感的信息數據
  通過攔截數據包,入侵者可以很方便記錄別人之間敏感的信息傳送,或者干脆攔截整個的email會話過程。
  4、窺探低級的協議信息。
  這是很可怕的事,我認為,通過對底層的信息協議記錄,比如記錄兩台主機之間的網絡接口地址、遠程網絡接口ip地址、ip路由信息和tcp連接的字節順序號碼等。這些信息由非法入侵的人掌握後將對網絡安全構成極大的危害,通常有人用sniffer收集這些信息只有一個原因:他正在進行一次欺詐,(通常的ip地址欺詐就要求你准確插入tcp連接的字節順序號,這將在以後整理的文章中指出)如果某人很關心這個問題,那麼sniffer對他來說只是前奏,今後的問題要大得多。(對於高級的hacker而言,我想這是使用sniffer的唯一理由吧)
二.sniffer的工作環境
snifffer就是能夠捕獲網絡報文的設備。嗅探器的正當用處在於分析網絡的流量,以便找出所關心的網絡中潛在的問題。例如,假設網絡的某一段運行得不是很好,報文的發送比較慢,而我們又不知道問題出在什麼地方,此時就可以用嗅探器來作出精確的問題判斷。
嗅探器在功能和設計方面有很多不同。有些只能分析一種協議,而另一些可能能夠分析幾百種協議。一般情況下,大多數的嗅探器至少能夠分析下面的協議:
1.標准以太網
2.TCP/IP
3.IPX
4.DECNet
嗅探器通常是軟硬件的結合。專用的嗅探器價格非常昂貴。另一方面,免費的嗅探器雖然不需要花什麼錢,但得不到什麼支持。
嗅探器與一般的鍵盤捕獲程序不同。鍵盤捕獲程序捕獲在終端上輸入的鍵值,而嗅探器則捕獲真實的網絡報文。嗅探器通過將其置身於網絡接口來達到這個目的——例如將以太網卡設置成雜收模式。(為了理解雜收模式是怎麼回事,先解釋局域網是怎麼工作的)。
數據在網絡上是以很小的稱為幀(Ftame)的單位傳輸的幀由好幾部分組成,不同的部分執行不同的功能。(例如,以太網的前12個字節存放的是源和目的的地址,這些位告訴網絡:數據的來源和去處。以太網幀的其他部分存放實際的用戶數據、TCP/IP的報文頭或IPX報文頭等等)。
幀通過特定的稱為網絡驅動程序的軟件進行成型,然後通過網卡發送到網線上。通過網線到達它們的目的機器,在目的機器的一端執行相反的過程。接收端機器的以太網卡捕獲到這些幀,並告訴操作系統幀的到達,然後對其進行存儲。就是在這個傳輸和接收的過程中,嗅探器會造成安全方面的問題。
每一個在LAN上的工作站都有其硬件地址。這些地址唯一地表示著網絡上的機器(這一點於Internet地址系統比較相似)。當用戶發送一個報文時,這些報文就會發送到LAN上所有可用的機器。
在一般情況下,網絡上所有的機器都可以“聽”到通過的流量,但對不屬於自己的報文則不予響應(換句話說,工作站A不會捕獲屬於工作站B的數據,而是簡單的忽略這些數據)。
如果某在工作站的網絡接口處於雜收模式,那麼它就可以捕獲網絡上所有的報文和幀,如果一個工作站被配置成這樣的方式,它(包括其軟件)就是一個嗅探器。
嗅探器可能造成的危害:
1.嗅探器能夠捕獲口令
2.能夠捕獲專用的或者機密的信息
3.可以用來危害網絡鄰居的安全,或者用來獲取更高級別的訪問權限
事實上,如果你在網絡上存在非授權的嗅探器就以為著你的系統已經暴露在別人面前了。(大家可以試試天行2的嗅探功能)
一般我們只嗅探每個報文的前200到300個字節。用戶名和口令都包含在這一部分中,這是我們關心的真正部分。工人,也可以嗅探給定接口上的所有報文,如果有足夠的空間進行存儲,有足夠的那裡進行處理的話,將會發現另一些非常有趣的東西……
簡單的放置一個嗅探器賓將其放到隨便什麼地方將不會起到什麼作用。將嗅探器放置於被攻擊機器或網絡附近,這樣將捕獲到很多口令,還有一個比較好的方法就是
copyright © 萬盛學電腦網 all rights reserved