網站公告列表
加入收藏
設為首頁
聯系站長
您現在的位置: 福州電腦之家 >> 文章中心 >> 網絡安全 >> 正文
  [推薦]嗅探原理與反嗅探技術           ★★★ 【字體:
嗅探原理與反嗅探技術
作者:福州電腦…    文章來源:本站原創    點擊數:    更新時間:2007-8-6
 

  嗅探器的基礎知識

  什么是嗅探器?

  嗅探器的英文寫法是Sniff,可以理解為一個安裝在計算機上的竊聽設備它可以用來竊聽計算機在網絡上所產生的眾多的信息。簡單一點解釋:一部電話的竊聽裝置, 可以用來竊聽雙方通話的內容,而計算機網絡嗅探器則可以竊聽計算機程序在網絡上發送和接收到的數據。

  可是,計算機直接所傳送的數據,事實上是大量的二進制數據。因此, 一個網絡竊聽程序必須也使用特定的網絡協議來分解嗅探到的數據, 嗅探器也就必須能夠識別出那個協議對應于這個數據片斷,只有這樣才能夠進行正確的解碼。

  計算機的嗅探器比起電話竊聽器,有他獨特的優勢: 很多的計算機網絡采用的是“共享媒體"。也就是說,你不必中斷他的通訊,并且配置特別的線路,再安裝嗅探器,你幾乎可以在任何連接著的網絡上直接竊聽到你同一掩碼范圍內的計算機網絡數據。我們稱這種竊聽方式為“基于混雜模式的嗅探”(promiscuous mode) 。 盡管如此,這種“共享” 的技術發展的很快,慢慢轉向“交換” 技術,這種技術會長期內會繼續使用下去, 它可以實現有目的選擇的收發數據。

  嗅探器是如何工作的

  如何竊聽網絡上的信息

  剛才說了,以太網的數據傳輸是基于“共享”原理的:所有的同一本地網范圍內的計算機共同接收到相同的數據包。這意味著計算機直接的通訊都是透明可見的。

  正是因為這樣的原因,以太網卡都構造了硬件的“過濾器”這個過濾器將忽略掉一切和自己無關的網絡信息。事實上是忽略掉了與自身MAC地址不符合的信息。

  嗅探程序正是利用了這個特點,它主動的關閉了這個嗅探器,也就是前面提到的設置網卡“混雜模式”。因此,嗅探程序就能夠接收到整個以太網內的網絡數據了信息了。

  什么是以太網的MAC地址

  MAC:Media Access Control.

  由于大量的計算機在以太網內“共享“數據流,所以必須有一個統一的辦法用來區分傳遞給不同計算機的數據流的。這種問題不會發生在撥號用戶身上,因為計算機會假定一切數據都由你發動給modem然后通過電話線傳送出去。可是,當你發送數據到以太網上的時候,你必須弄清楚,哪臺計算機是你發送數據的對象。的確,現在有大量的雙向通訊程序出現了,看上去,他們好像只會在兩臺機器內交換信息,可是你要明白,以太網的信息是共享的,其他用戶,其實一樣接收到了你發送的數據,只不過是被過濾器給忽略掉了。

  MAC地址是由一組6個16進制數組成的,它存在于每一塊以太網卡中。后面的章節將告訴你如何查看自己計算機的MAC地址。

  如果你對網絡結構不太熟悉,建議參考一下OSI 7-Layer Model,這將有助于你理解后面的東西以太網所使用的協議主要是TCP/IP,并且TCP/IP也用于其他的網絡模型(比如撥號用戶,他們并不是處于一個以太網環境中)。舉例一下,很多的小團體計算機用戶都為實現文件和打印共享,安裝了“NetBEUI” 因為它不是基于TCP/IP協議的,所以來自于網絡的黑客一樣無法得知他們的設備情況。

  基于Raw協議,傳輸和接收都在以太網里起著支配作用。你不能直接發送一個Raw數據給以太網,你必須先做一些事情,讓以太網能夠理解你的意思。這有點類似于郵寄信件的方法,你不可能直接把一封信投遞出去,你必須先裝信封,寫地址,貼郵票,網絡上的傳輸也是這樣的。

  下面給出一個簡單的圖示,有助于你理解數據傳送的原理:

  _________

  /........./

  /..Internet./

  +-----+ +----+.............+-----+

   UserA ----- 路由 ............. UserB 

  +-----+ ^ +----+.............+-----+

    /.........../

    /---------/

  +------+

   嗅探器 

  +------+

  UserA IP 地址: 10.0.0.23

  UserB IP 地址: 192.168.100.54

  現在知道UserA要于UserB進行計算機通訊,UserA需要為10.0.0.23到192.168.100.54的通訊建立一個IP包

  這個IP包在網絡上傳輸,它必須能夠穿透路由器。因此, UserA必須首先提交這個包給路由器。由每個路由器考查目地IP地址然后決定傳送路徑。

  UserA 所知道的只是本地與路由的連接,和UserB的IP地址。UserA并不清楚網絡的結構情況和路由走向。

  UserA必須告訴路由預備發送的數據包的情況,以太網數據傳輸結構大概是這樣的:

  +--+--+--+--+--+--+

    目標 MAC  

  +--+--+--+--+--+--+

    源 MAC  

  +--+--+--+--+--+--+

   08 00 

  +--+--+-----------+

     

  . .

  . IP 包 .

  . .

     

  +--+--+--+--+-----+

    CRC校驗  

  +--+--+--+--+

  理解一下這個結構,UserA的計算機建立了一個包假設它由100個字節的長度(我們假設一下,20 個字節是IP信息,20個字節是TCP信息,還有60個字節為傳送的數據)。現在把這個包發給以太網,放14個字節在目地MAC地址之前,源MAC地址,還要置一個0x0800的標記,他指示出了TCP/IP棧后的數據結構。同時,也附加了4個字節用于做CRC校驗(CRC校驗用來檢查傳輸數據的正確性)。

[1] [2] [3] 下一頁


文章錄入:福州電腦之家    責任編輯:福州電腦之家 
  • 上一篇文章:

  • 下一篇文章:
  • 發表評論】【加入收藏】【告訴好友】【打印此文】【關閉窗口
    最新熱點 最新推薦 相關文章
    沒有相關文章
      網友評論:(只顯示最新10條。評論內容只代表網友觀點,與本站立場無關!)

    福州電腦之家版權所有 © 2006-2012 閩ICP備07018455號

    福建体彩36选7开奖