• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Sniff網絡基礎原理和軟件實現技巧詳解

    發表于:2007-06-23來源:作者:點擊數: 標簽:
    下一頁 1 2 3 4 一、前言 SNIFF真是一個古老的話題,關于在網絡上采用SNIFF來獲取敏感信息已經不是什么新鮮事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIFF就是嗅探器,就是竊聽器,SNIFF靜悄悄的工作在網絡的底層,把你的秘密全部記錄下來???

    下一頁 1 2 3 4 

       一、前言

    SNIFF真是一個古老的話題,關于在網絡上采用SNIFF來獲取敏感信息已經不是什么新鮮事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIFF就是嗅探器,就是竊聽器,SNIFF靜悄悄的工作在網絡的底層,把你的秘密全部記錄下來??催^威爾史密斯演的《全民公敵》嗎?SNIFF就象里面精巧的竊聽器一樣,讓你防不勝防。

    SNIFF可以是軟件,也可以是硬件,既然是軟件那就要分平臺,有WINDOWS下的、UNXI

    下的等,硬件的SNIFF稱為網絡分析儀,反正不管硬件軟件,目標只有一個,就是獲取在網絡上傳輸的各種信息。本文僅僅介紹軟件的SNIFF。

    當你舒適的坐在家里,愜意的享受網絡給你帶來的便利,收取你的EMAIL,購買你喜歡

    的物品的時候,你是否會想到你的朋友給你的信件,你的信用卡帳號變成了一個又一個的信息包在網絡上不停的傳送著,你是否曾經這些信息包會通過網絡流入別人的機器呢?你的擔憂不是沒有道理的,因為SNIFF可以讓你的擔憂變成實實在在的危險。就好象一個人躲在你身后偷看一樣。

    二、網絡基礎知識

    "網絡基礎知識",是不是聽起來有點跑題了?雖然聽起來這和我們要談的SNIFF沒什么

    關系,可是還是要說一說的,萬丈高樓平地起,如果連地基都沒打好,怎么蓋樓?!如果你對網絡還不是十分清楚的話,最好能靜下心來好好看看,要知道,這是基礎的基礎,在這里我只是簡單的說一下,免得到時候有人迷糊,詳細的最好能夠自己去找書看看。

    (1)TCP/IP體系結構

    開放系統互連(OSI)模型將網絡劃分為七層模型,分別用以在各層上實現不同的功能,

    這七層分別為:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層及物理層。而TCP/IP體系也同樣遵循這七層標準,只不過在某些OSI功能上進行了壓縮,將表示層及會話層合并入應用層中,所以實際上我們打交道的TCP/IP僅僅有5層而已,網絡上的分層結構決定了在各層上的協議分布及功能實現,從而決定了各層上網絡設備的使用。實際上很多成功的系統都是基于OSI模型的,如:如幀中繼、ATM、ISDN等。

    TCP/IP的網絡體系結構

    ----------------------------------- 
    | SMTP | DNS | HTTP | FTP | TELNET| 應用層 
    ----------------------------------- 
    | TCP | UDP | 傳輸層 
    ----------------------------------- 
    | IP | ICMP | ARP RARP | 網絡層 
    ------------------------ 
    | IEEE 802 以太網 SLIP/PPP PDN etc| 數據鏈路層 
    ----------------------------------- 
    | 網卡 電纜 雙絞線 etc | 物理層 
    -----------------------------------



    從上面的圖中我們可以看出,第一層物理層和第二層數據鏈路層是TCP/IP的基礎,而

    TCP/IP本身并不十分關心低層,因為處在數據鏈路層的網絡設備驅動程序將上層的協議和實際的物理接口隔離開來。網絡設備驅動程序位于介質訪問子層(MAC)。

    (2)網絡上的設備

    中繼器:中繼器的主要功能是終結一個網段的信號并在另一個網段再生該信號,一句話,就是簡單的放大而已,工作在物理層上。

    網橋:網橋使用MAC物理地址實現中繼功能,可以用來分隔網段或連接部分異種網絡,工

    作在數據鏈路層。

    路由器:路由器使用網絡層地址(IP,X.121,E.164等),主要負責資料包的路由尋徑,也能處理物理層和數據鏈路層上的工作。

    網關:主要工作在網絡第四層以上,主要實現收斂功能及協議轉換,不過很多時候網關都被用來描述任何網絡互連設備。

    (3)TCP/IP與以太網

    以太網和TCP/IP可以說是相互相成的,可以說兩者的關系幾乎是密不可分,以太網在一二層提供物理上的聯機,而TCP/IP工作在上層,使用32位的IP地址,以太網則使用48位的MAC地址,兩者間使用ARP和RARP協議進行相互轉換。從我們上面TCP/IP的模型圖中可以清楚的看到兩者的關系。

    載波監聽/沖突檢測(CSMA/CD)技術被普遍的使用在以太網中,所謂載波監聽是指在以

    太網中的每個站點都具有同等的權利,在傳輸自己的資料時,首先監聽信道是否空閑,如果空閑,就傳輸自己的數據,如果信道被占用,就等待信道空閑。而沖突檢測則是為了防止發生兩個站點同時監測到網絡沒有被使用時而產生沖突。以太網采用廣播機制,所有與網絡連接的工作站都可以看到網絡上傳遞的資料。

    為了加深你的理解,我們來看看下面的圖,一個典型的在以太網中客戶與服務器使用

    TCP/IP協議的通信。



    用戶進程 FTP客戶 <-------------------------> FTP服務器 應用層
    | |
    內核中的協議棧 TCP <-------------------------> TCP 傳輸層
    | |
    內核中的協議棧 IP <-------------------------> IP 網絡層
    | |
    以太網驅動程序 <-------------------------> 以太網驅動程序 數據鏈路層

    說了這么多,有人煩了吧?相信我,這是基礎的基礎,可以說是說得是很簡單拉,

    如果需要,拿出個幾十萬字來說上面的內容,我想也不嫌多,好了,讓我們進入下一節, sniff的原理。

    三 SNIFF的原理

    要知道在以太網中,所有的通訊都是廣播的,也就是說通常在同一個網段的所有網絡接口都可以訪問在物理媒體上傳輸的所有資料,而每一個網絡接口都有一個唯一的硬件地址,這個硬件地址也就是網卡的MAC地址,大多數系統使用48比特的地址,這個地址用來表示網絡中的每一個設備,一般來說每一塊網卡上的MFC地址都是不同的,每個網卡廠家得到一段地址,然后用這段地址分配給其生產的每個網卡一個地址。在硬件地址和IP地址間使用ARP和RARP協議進行相互轉換。



    在正常的情況下,一個網絡接口應該只響應這樣的兩種資料幀:

    1.與自己硬件地址相匹配的資料幀。

    2.發向所有機器的廣播資料幀。

    在一個實際的系統中,資料的收發是由網卡來完成的,網卡接收到傳輸來的資料,網卡

    內的單片程序接收資料幀的目的MAC地址,根據計算機上的網卡驅動程序設置的接收模式判斷該不該接收,認為該接收就接收后產生中斷信號通知CPU,認為不該接收就丟掉不管,所以不該接收的資料網卡就截斷了,計算機根本就不知道。CPU得到中斷信號產生中斷,操作系統就根據網卡的驅動程序設置的網卡中斷程序地址調用驅動程序接收資料,驅動程序接收資料后放入信號堆棧讓操作系統處理。而對于網卡來說一般有四種接收模式:

    廣播方式:該模式下的網卡能夠接收網絡中的廣播信息。

    組播方式:設置在該模式下 的網卡能夠接收組播資料。 直接方式:在這種模式下,只有目的網卡才能接收該數據。 混雜模式:在這種模式下的網卡能夠接收一切通過它 的資料,而不管該資料是否是 傳給它的。

    好了,現在我們總結一下,首先,我們知道了在以太網中是基于廣播方式傳送資料的,也就是說,所有的物理信號都要經過我的機器,再次,網卡可以置于一種模式叫混雜模式(promiscuous),在這種模式下工作的網卡能夠接收到一切通過它的資料,而不管實際上數據的目的地址是不是他。這實際上就是我們SNIFF工作的基本原理:讓網卡接收一切他所能接收的數據。


    我們來看一個簡單的例子,機器A、B、C與集線器HUB相連接,集線器HUB通過路由器Router訪問外部網絡。這是一個很簡單也很常見的情況,比如說在公司大樓里,我所在的網絡部辦公室里的幾臺機器通過集線器連接,而網絡部、開發部、市場部也是同樣如此,幾個部門的集線器通過路由器連接。還是回到我們的圖一上來,值得注意的一點是機器A、B、C使用一個普通的HUB連接的,不是用SWITCH,也不是用ROUTER,使用SWITCH和ROUTER的情況要比這復雜得多。

    我們假設一下機器A上的管理員為了維護機器C,使用了一個FTP命令向機器C進行遠程登陸,那么在這個用HUB連接的網絡里資料走向過程是這樣的。首先機器A上的管理員輸入的登陸機器C的FTP口令經過應用層FTP協議、傳輸層TCP協議、網絡層IP協議、數據鏈路層上的以太網驅動程序一層一層的包裹,最后送到了物理層,我們的網線上。接下來資料幀送到了HUB上,現在由HUB向每一個接點廣播由機器A發出的資料幀,機器B接收到由HUB廣播發出的資料幀,并檢查在資料幀中的地址是否和自己的地址相匹配,發現不是發向自己的后把這資料幀丟棄,不予理睬。而機器C也接收到了資料幀,并在比較之后發現是發現自己的,接下來他就對這數據幀進行分析處理。

    在上面這個簡單的例子中,機器B上的管理員如果很好奇,他很想知道究竟登陸機器C上FTP口令是什么?那么他要做的很簡單,僅僅需要把自己機器上的網卡置于混雜模式,并對接收到的資料幀進行分析,從而找到包含在資料幀中的口令信息。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>