網(wǎng)絡(luò)數(shù)據(jù)包的分析與實現(xiàn)_第1頁
網(wǎng)絡(luò)數(shù)據(jù)包的分析與實現(xiàn)_第2頁
網(wǎng)絡(luò)數(shù)據(jù)包的分析與實現(xiàn)_第3頁
網(wǎng)絡(luò)數(shù)據(jù)包的分析與實現(xiàn)_第4頁
網(wǎng)絡(luò)數(shù)據(jù)包的分析與實現(xiàn)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 獨創(chuàng)性聲明本人聲明所呈交的畢業(yè)論文是本人在導師指導下進行的理論學習、實習實踐以及研究所取得的成果,除了文中特別加以標注和致謝之處外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含獲得 青海民族大學 或其他教育機構(gòu)的學位或證書而使用過的材料。與我一起探討、工作的同學對本論文所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。畢業(yè)論文作者簽名: 簽字日期: 年 月 日畢業(yè)論文版權(quán)使用授權(quán)書本畢業(yè)論文作者完全了解 青海民族大學 有關(guān)保留、使用畢業(yè)論文的規(guī)定。特授權(quán)青海民族大學可以將畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,并采用影印、縮印或掃描等復(fù)制手段保存、匯編以供查閱和借閱。同

2、意學校向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和磁盤。論文作者簽名: 簽字日期: 年 月 日 指導教師簽名: 簽字日期: 年 月 日 摘 要隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,社會進入了一個信息爆炸的時代,世界也由于網(wǎng)絡(luò)而變小,人們通過各種技術(shù)和工具使交流突破了空間的限制。在網(wǎng)絡(luò)技術(shù)發(fā)展與普及的同時,網(wǎng)絡(luò)安全問題引起了人們的廣泛關(guān)注。因此,研究并開發(fā)出一種能夠有效地實時捕獲網(wǎng)絡(luò)信息的系統(tǒng)具有極其重要的意義?;谶@一情況,本論文針對網(wǎng)絡(luò)數(shù)據(jù)的捕獲與數(shù)據(jù)包信息分析等問題進行了深入的探討和研究。本論文逐一介紹了信息捕獲中的相關(guān)技術(shù)及需求分析,在系統(tǒng)設(shè)計中對數(shù)據(jù)包捕獲模塊、解碼數(shù)據(jù)包模塊和數(shù)據(jù)庫信息模塊的實現(xiàn)進行了詳

3、細講述。通過運用sniffer開發(fā)包實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,利用tcp/ip 協(xié)議的封裝理論和自下而上的分析實現(xiàn)了數(shù)據(jù)包信息的分析,并且將分析出來的信息存入數(shù)據(jù)庫。另外,還能實現(xiàn)一些功能,如對指定的ip地址進行數(shù)據(jù)包的捕獲,對捕獲結(jié)果進行顯示等。關(guān)鍵詞:sniffer;數(shù)據(jù)捕獲;信息分析;局域網(wǎng)abstractas development of the network and technology, the society comes into a age of information explosion. due to the network, the world has become sma

4、ller, and people use all kinds of technologies and tools to break through the limitation of communication. the network security has been widely concerned followed by the development and universal of the network technology. therefore, it is great significance that an effective real-time interception

5、network information system is studied and developed. base on this situation, this thesis in-depth studies to capture the network data and so on. besides, it introduces relative technology and the needs information capture. the realization of the data capture module, data packet decoded module and da

6、tabase information module is displayed for detail in the systems design. the network data packet is captured through sniffer, some functions has been realized, such as network data packet capture, data packets of information analysis by using tcp / ip protocol encapsulation theory and bottom-up, and

7、 will analyze the information stored in the database. simultaneously, this software would also increases some functions, such as data packet capture by the ip address, make the results and statistics,display the results of data packet capture and so on.key words: sniffer; data capture; information a

8、nalysis ; lan目 錄1引言111課題意義和背景112課題研究技術(shù)和方法213 sniffer簡介32研究的目的及內(nèi)容521研究的目的及內(nèi)容522課題研究的相關(guān)技術(shù)63需求931功能需求932性能需求94 網(wǎng)絡(luò)嗅探器原理114.1系統(tǒng)功能概述1142功能模塊設(shè)計14421數(shù)據(jù)包捕獲模塊設(shè)計16422數(shù)據(jù)包解析存儲模塊17423數(shù)據(jù)包信息分析模塊設(shè)計17424數(shù)據(jù)包信息顯示模塊設(shè)計185網(wǎng)絡(luò)嗅探器的設(shè)計195.1測試環(huán)境195.2測試結(jié)果216、總結(jié)24參考文獻:25致謝261引言隨著計算機技術(shù)的發(fā)展,網(wǎng)絡(luò)已經(jīng)日益成為生活中不可或缺的通訊工具,但是隨之而來的非法入侵也是一直威脅著計算機

9、網(wǎng)絡(luò)安全,由于在局域網(wǎng)采用廣播的方式,因此,在某個廣播域中可以監(jiān)聽到所有數(shù)據(jù)包,而黑客也能通過對這些數(shù)據(jù)包的分析來獲取局域網(wǎng)中的重要信息。另一方面,我們對黑客入侵活動和其他網(wǎng)絡(luò)犯罪調(diào)查、取證也是通過網(wǎng)絡(luò)監(jiān)聽技術(shù)來獲取相關(guān)信息。所以,掌握以太網(wǎng)的監(jiān)聽技術(shù)原理、實現(xiàn)方法和防范措施顯得尤為重要。11課題意義和背景本設(shè)計利用sniffer來捕獲數(shù)據(jù)包、分析數(shù)據(jù)包,實現(xiàn)網(wǎng)絡(luò)嗅探功能。sniffer是windows環(huán)境下的鏈接層網(wǎng)絡(luò)訪問的工業(yè)標準工具,目前被廣泛使用。sniffer可以使用應(yīng)用程序繞過操作系統(tǒng)的協(xié)議棧去捕獲和傳輸網(wǎng)絡(luò)數(shù)據(jù)包。通過對sniffer的學習,可以深入的理解與掌握網(wǎng)絡(luò)數(shù)據(jù)的組成,傳

10、輸與分析。 嗅探器,可以理解為一個安裝在計算機上的竊聽設(shè)備它可以用來竊聽計算機在網(wǎng)絡(luò)上所產(chǎn)生的眾多的信息。簡單一點解釋:一部電話的竊聽裝置, 可以用來竊聽雙方通話的內(nèi)容,而計算機網(wǎng)絡(luò)嗅探器則可以竊聽計算機程序在網(wǎng)絡(luò)上發(fā)送和接收到的數(shù)據(jù)。計算機直接所傳送的數(shù)據(jù),事實上是大量的二進制數(shù)據(jù)。因此, 一個網(wǎng)絡(luò)竊聽程序必須也使用特定的網(wǎng)絡(luò)協(xié)議來分解嗅探到的數(shù)據(jù), 嗅探器也就必須能夠識別出那個協(xié)議對應(yīng)于這個數(shù)據(jù)片斷,只有這樣才能夠進行正確的解碼嗅探器是網(wǎng)絡(luò)的抓包工具,可以對網(wǎng)絡(luò)中大量數(shù)據(jù)抓取,從而方便使用者對網(wǎng)絡(luò)中用戶的一些信息進行分析,所以,通常被黑客運用于網(wǎng)絡(luò)攻擊。我們?nèi)绻材苷莆站W(wǎng)絡(luò)嗅探器的原理和設(shè)

11、計,可以將它運用與網(wǎng)絡(luò)故障檢測、網(wǎng)絡(luò)狀況的監(jiān)視,還可以加強企業(yè)信息安全防護。12課題研究技術(shù)和方法網(wǎng)絡(luò)數(shù)據(jù)捕獲技術(shù)是獲取信息的關(guān)鍵技術(shù),它通過監(jiān)聽技術(shù),過濾技術(shù)獲取原始數(shù)據(jù),根據(jù)tcp/ip分層理論進行層層拆解,提取相關(guān)協(xié)議中的信息。本畢業(yè)設(shè)計主要通過使用sniffer開發(fā)包,在java環(huán)境下編寫出了一款簡單的軟件對數(shù)據(jù)包信息按tcp協(xié)議類型、udp協(xié)議類型、arp等分類捕獲,捕獲出所需要的敏感信息,并且將捕獲出來的信息寫入數(shù)據(jù)庫。網(wǎng)絡(luò)嗅探器并不會告訴你問題究竟是什么,而只會告訴你究竟發(fā)生了什么。對網(wǎng)絡(luò)嗅探器的研究我加深了對通信協(xié)議的理解,網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)的理解。對網(wǎng)絡(luò)嗅探器的深入研究更重要的是可

12、以讓我們的互聯(lián)網(wǎng)世界更安全、信息更健康。計算機的嗅探器比起電話竊聽器,有他獨特的優(yōu)勢: 很多的計算機網(wǎng)絡(luò)采用的是“共享媒體。也就是說,你不必中斷他的通訊,并且配置特別的線路,再安裝嗅探器,你幾乎可以在任何連接著的網(wǎng)絡(luò)上直接竊聽到你同一掩碼范圍內(nèi)的計算機網(wǎng)絡(luò)數(shù)據(jù)。我們稱這種竊聽方式為“基于混雜模式的嗅探” 。 盡管如此,這種“共享” 的技術(shù)發(fā)展的很快,慢慢轉(zhuǎn)向“交換” 技術(shù),這種技術(shù)會長期內(nèi)會繼續(xù)使用下去, 它可以實現(xiàn)有目的選擇的收發(fā)數(shù)據(jù)。13 sniffer簡介當信息以明文的形式在網(wǎng)絡(luò)上傳輸時,便可以使用網(wǎng)絡(luò)監(jiān)聽的方式來進行攻擊。將網(wǎng)絡(luò)接口設(shè)置在監(jiān)聽模式,便可以將網(wǎng)上傳輸?shù)脑丛床粩嗟男畔⒔孬@。

13、但實際上sniffer技術(shù)被廣泛地應(yīng)用于網(wǎng)絡(luò)故障診斷、協(xié)議分析、應(yīng)用性能分析和網(wǎng)絡(luò)安全保障等各個領(lǐng)域。sniffer程序是一種利用以太網(wǎng)的特性把網(wǎng)絡(luò)適配卡(nic,一般為以太網(wǎng)卡)置為雜亂(promiscuous)模式狀態(tài)的工具,一旦網(wǎng)卡設(shè)置為這種模式,它就能接收傳輸在網(wǎng)絡(luò)上的每一個信息包。普通的情況下,網(wǎng)卡只接收和自己的地址有關(guān)的信息包,即傳輸?shù)奖镜刂鳈C的信息包。要使sniffer能接收并處理這種方式的信息,系統(tǒng)需要支持bpf,linux下需要支持socket一packet。但一般情況下,網(wǎng)絡(luò)硬件和tcp/ip堆棧不支持接收或者發(fā)送與本地計算機無關(guān)的數(shù)據(jù)包,所以,為了繞過標準的tcp/ip堆

14、棧,網(wǎng)卡就必須設(shè)置為我們剛開始講的混雜模式。一般情況下,要激活這種方式,內(nèi)核必須支持這種偽設(shè)備bp filter,而且需要root權(quán)限來運行這種程序,所以sniffer需要root身份安裝,如果只是以本地用戶的身份進入了系統(tǒng),那么不可能嗅探到root的密碼,因此不能運行sniffer。sniffer分為軟件和硬件兩種,軟件的sniffer有 sniffer pro、network monitor、packet bone等,其優(yōu)點是易于安裝部署,易于學習使用,同時也易于交流;缺點是無法抓取網(wǎng)絡(luò)上所有的傳輸,某些情況下也就無法真正了解網(wǎng)絡(luò)的故障和運行情況。硬件的sniffer通常稱為協(xié)議分析儀,一

15、般都是商業(yè)性的,價格也比較昂貴,但會具備支持各類擴展的鏈路捕獲能力以及高性能的數(shù)據(jù)實時捕獲分析的功能。基于以太網(wǎng)絡(luò)嗅探的sniffer只能抓取一個物理網(wǎng)段內(nèi)的包,就是說,監(jiān)聽的目標中間不能有路由或其他屏蔽廣播包的設(shè)備,這一點很重要。所以,對一般撥號上網(wǎng)的用戶來說,是不可能利用sniffer來竊聽到其他人的通信內(nèi)容的。sniffer與其他網(wǎng)絡(luò)協(xié)議分析儀最大的差別在于它的人工智能專家系統(tǒng)。簡單地說,sniffer能自動實時監(jiān)視網(wǎng)絡(luò),捕捉數(shù)據(jù),識別網(wǎng)絡(luò)配置,自動發(fā)現(xiàn)網(wǎng)絡(luò)故障并進行告警,它能指出: 網(wǎng)絡(luò)故障發(fā)生的位置,以及出現(xiàn)在osi第幾層。 網(wǎng)絡(luò)故障的性質(zhì),產(chǎn)生故障的可能的原因以及為解決故障建議采取

16、的行動。 sniffer 還提供了專家配制功能,用戶可以自已設(shè)定專家系統(tǒng)判斷故障發(fā)生的觸發(fā)條件。sniffer可以在全部七層osi協(xié)議上進行解碼,目前沒有任何一個系統(tǒng)可以做到對協(xié)議有如此透徹的分析;它采用分層方式,從最低層開始,一直到第七層,甚至對oracle數(shù)據(jù)庫、sybase數(shù)據(jù)庫都可以進行協(xié)議分析;每一層用不同的顏色加以區(qū)別。sniffer對每一層都提供了summary、detail、hex等幾種解碼窗口。在同一時間,最多可以打開六個觀察窗口。sniffer還可以進行強制解碼功能,如果網(wǎng)絡(luò)上運行的是非標準協(xié)議,可以使用一個現(xiàn)有標準協(xié)議樣板去嘗試解釋捕獲的數(shù)據(jù)。 sniffer提供了在線實

17、時解碼分析和在線捕捉,將捕捉的數(shù)據(jù)存盤后進行解碼分析二種功能。2研究的目的及內(nèi)容21研究的目的及內(nèi)容綜合所學知識,使知識系統(tǒng)化與實用化。研究網(wǎng)絡(luò)抓包功能,可以對網(wǎng)絡(luò)中大量數(shù)據(jù)包抓取,從而方便使用者對網(wǎng)絡(luò)中用戶的一些信息進行分析,掌握這些原理,我們可以運用網(wǎng)絡(luò)抓包工具來進行網(wǎng)絡(luò)故障檢測、網(wǎng)絡(luò)狀況監(jiān)聽,加強信息的安全防護,預(yù)防黑客的攻擊等。本系統(tǒng)需要實現(xiàn)的共更能模塊有數(shù)據(jù)包捕獲模塊、數(shù)據(jù)包信息顯示模塊、數(shù)據(jù)包解析及存儲模塊、數(shù)據(jù)包分析模塊。當一個黑客成功地攻陷了一臺主機,并拿到了root權(quán)限,而且還想利用這臺主機去攻擊同一(物理)網(wǎng)段上的其他主機時,他就會在這臺主機上安裝嗅探軟件,對以太網(wǎng)設(shè)備上傳

18、送的數(shù)據(jù)包進行偵聽,從而發(fā)現(xiàn)感興趣的包。如果發(fā)現(xiàn)符合條件的包,就把它存到一個log文件中去。通常設(shè)置的這些條件是包含字“username”或“password”的包,這樣的包里面通常有黑客感興趣的密碼之類的東西。一旦黑客截獲得了某臺主機的密碼,他就會立刻進入這臺主機。如果嗅探器運行在路由器上或有路由功能的主機上,就能對大量的數(shù)據(jù)進行監(jiān)控,因為所有進出網(wǎng)絡(luò)的數(shù)據(jù)包都要經(jīng)過路由器。嗅探器屬于第m層次的攻擊。就是說,只有在攻擊者已經(jīng)進入了目標系統(tǒng)的情況下,才能使用嗅探這種攻擊手段,以便得到更多的信息。嗅探器除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個重要的信息、在網(wǎng)上傳送的金融信息等等

19、。嗅探器幾乎能得到任何在以太網(wǎng)上傳送的數(shù)據(jù)包。因此,設(shè)計本系統(tǒng)的就是為了達到基本的維護網(wǎng)絡(luò)安全的作用,對網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)進行捕獲,然后從中得到所有的網(wǎng)絡(luò)數(shù)據(jù)包,并對其進行簡單的分析操作。在網(wǎng)絡(luò)入侵取證系統(tǒng)中,對網(wǎng)絡(luò)上傳送的數(shù)據(jù)包進行有效的監(jiān)聽即捕獲包是目前取證的關(guān)鍵技術(shù),只有進行高效的數(shù)據(jù)包捕獲,網(wǎng)絡(luò)管理員才能對所捕獲的數(shù)據(jù)進行一系列的分析,從而進行可靠的網(wǎng)絡(luò)安全管理。網(wǎng)絡(luò)的安全性和高可用性是建立在有效的網(wǎng)絡(luò)管理基礎(chǔ)之上的,網(wǎng)絡(luò)管理包括配置管理、故障管理、性能管理、安全管理和計費管理五大部分。對于企業(yè)計算機網(wǎng)絡(luò)來說,網(wǎng)絡(luò)故障管理主要側(cè)重于實時的監(jiān)控,而網(wǎng)絡(luò)性能管理更看中歷史分析。22課題研究的

20、相關(guān)技術(shù)互聯(lián)網(wǎng)技術(shù)互聯(lián)網(wǎng)技術(shù)不僅僅是物理上的連接,還包括邏輯上的連接,互聯(lián)網(wǎng)使多個網(wǎng)絡(luò)形成一個有機整體,實現(xiàn)跨網(wǎng)絡(luò)的互操作。網(wǎng)絡(luò)互聯(lián)的根本問題是解決網(wǎng)絡(luò)技術(shù)和應(yīng)用所帶來的網(wǎng)絡(luò)異構(gòu)性問題。網(wǎng)絡(luò)互連技術(shù)必須保證以下3點:使不同硬件結(jié)構(gòu)計算機能相互通信適用于多種不同的操作系統(tǒng)能使多種分組交換網(wǎng)絡(luò)硬件網(wǎng)絡(luò)的功能主要由各層的協(xié)議來完成,tcp/ip協(xié)議時當前因特網(wǎng)協(xié)議族的總稱,tcp/ip協(xié)議族龐大,成為重要的協(xié)議ip地址ip地址是互聯(lián)網(wǎng)中重要部分,它能將不同的物理網(wǎng)絡(luò)地址統(tǒng)一到具有全球的ip地址。目前ip地址還是用ipv4版本,分為5類,各類都有自己的范圍。但是嚴格按照分類來分配ip地址會浪費很大的地

21、址空間,因此用到了無類地址劃分,用子網(wǎng)掩碼來區(qū)別網(wǎng)絡(luò)號和主機號。因特網(wǎng)的ip協(xié)議提供了整個因特網(wǎng)通用的地址格式,并在統(tǒng)一管理下進行ip地址分配,確保一個地址對應(yīng)一臺主機或路由器,這樣對上層而言物理地址的差異性就被屏蔽了,因此當一臺主機從一個網(wǎng)絡(luò)移動到另一個網(wǎng)絡(luò)的時候需要改變這臺主機的ip地址。以下是ip數(shù)據(jù)報格式示意圖:圖2.1上圖個字段含義如下: 版本:當前ip協(xié)議的版本號,本論文采用的版本號為4;首部長度:以32bit為單位的包頭長度;服務(wù)類型:規(guī)定對本數(shù)據(jù)報的處理方式,比如優(yōu)先權(quán)等;總長:以byte為單位的整個ip數(shù)據(jù)報長度;標識:信源主機賦予每個ip數(shù)據(jù)報的唯一標識符號,用于控制分片及

22、其重組;標志和片偏移:同樣用于控制分片及其重組;生存時間:設(shè)置本數(shù)據(jù)報的最大生存時間,以秒為單位;協(xié)議:表示創(chuàng)建本ip數(shù)據(jù)報數(shù)據(jù)區(qū)數(shù)據(jù)的高層協(xié)議的類型,如tcp,udp等;頭標校驗和:用于保證頭標數(shù)據(jù)的完整性;源ip地址和目的ip地址:分別指發(fā)送本數(shù)據(jù)報的主機ip地址和接受本數(shù)據(jù)報的主機的ip地址;選項:用于控制和測試,是ip數(shù)據(jù)報中可選的部分,包含“源路徑”、“路徑記錄”、“時間戳”等幾種類型。以下是tcp/ip 網(wǎng)絡(luò)體系結(jié)構(gòu)與上述各協(xié)議之間的關(guān)系模型。 圖2.2應(yīng)用層的大多數(shù)應(yīng)用程序通過tcp、udp來訪問網(wǎng)絡(luò)層,或者通過icmp來使用網(wǎng)絡(luò)層,如ping、trace route等也可以使用

23、ip直接訪問網(wǎng)絡(luò)層。傳輸層中的tcp、udp為應(yīng)用層提供可靠的或不可靠網(wǎng)絡(luò)傳輸?shù)木W(wǎng)絡(luò)傳輸服務(wù)。網(wǎng)絡(luò)層的icmp是ip協(xié)議的附屬協(xié)議,ip協(xié)議用它與路由器之間交換錯誤報文或其它控制信息。網(wǎng)絡(luò)接口層的arp、rarp是以太網(wǎng)和令牌環(huán)使用的特殊協(xié)議,用來轉(zhuǎn)換ip層和網(wǎng)絡(luò)接口層使用的地址。3。需求31功能需求本軟件的設(shè)計就是為了達到基本的維護網(wǎng)絡(luò)安全的作用,對網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)進行捕獲,然后從中得到所有的網(wǎng)絡(luò)數(shù)據(jù)包,并對其進行簡單的分析操作。在網(wǎng)絡(luò)入侵取證系統(tǒng)中,對網(wǎng)絡(luò)上傳送的數(shù)據(jù)包進行有效的監(jiān)聽即捕獲包是目前取證的關(guān)鍵技術(shù),只有進行高效的數(shù)據(jù)包捕獲,網(wǎng)絡(luò)管理員才能對所捕獲的數(shù)據(jù)進行一系列的分析,從而進

24、行可靠的網(wǎng)絡(luò)安全管理(1)對網(wǎng)絡(luò)中的數(shù)據(jù)包能及時抓捕。(2)對抓捕到的數(shù)據(jù)包進行分析,能辨別出包的類型、大小、包的源地址、協(xié)議類型等。(3)向用戶顯示分析的結(jié)果,并對數(shù)據(jù)包進行簡單解釋。(4)用戶可操作性,用戶能根據(jù)自己的設(shè)置進行控制進行抓包、何時抓包、抓何種類型的包、何時停止等。(5)可對比性,可以把抓到的數(shù)據(jù)包和數(shù)據(jù)庫內(nèi)的特征進行對比,以便能分析斷數(shù)據(jù)包。有于水平有限,不可能實現(xiàn)像sniffer或者影音神探那樣復(fù)雜的設(shè)置和分析,所以我們只對抓取到的本機在網(wǎng)絡(luò)中的通信數(shù)據(jù)(如協(xié)議類型,源、目的地址和端口、數(shù)據(jù)包的大小等)加以分析,實現(xiàn)一個簡單的網(wǎng)絡(luò)嗅探器。一個窗體顯示主頁面,另一個頁面顯示詳

25、細的包信息。而像sniffer的復(fù)雜功能也不能全部實現(xiàn),而是實現(xiàn)了部分功能和簡單分析,本系統(tǒng)未完善之處還有待解決。32性能需求由于本設(shè)計是安裝在個人電腦上,所以要求用戶界面簡潔,友好,方便使用和操作。網(wǎng)絡(luò)上數(shù)據(jù)包的捕獲是入侵檢測系統(tǒng)的基礎(chǔ),關(guān)鍵是要保證高速的抓包和低的丟包率。一方面,網(wǎng)絡(luò)檢測部分的數(shù)據(jù)源是網(wǎng)絡(luò)上的數(shù)據(jù)包,需要經(jīng)過捕獲后方可以提交給分析系統(tǒng);另一方面,捕獲數(shù)據(jù)包效率的高低直接影響著網(wǎng)絡(luò)探測部分的性能的好壞,如果發(fā)生丟包現(xiàn)象,則有可能丟掉的包就是攻擊包。在保證高速的抓包和低的丟包率的同時,要還要求程序能有較強的穩(wěn)定性。一款好的信息過濾軟件,都是將在一個長時間工作的環(huán)境中運行。如果不

26、能保證較強的穩(wěn)定性的話,那么軟件對信息過濾的效率和功能有很大的局限性,對數(shù)據(jù)信息過濾就是失敗的。那么這款軟件就不會具備同其他同類似軟件的競爭力,更不會有市場,那么它就注定成為一款失敗的軟件。假如,當用戶使用這款軟件時,軟件占用了太多的系統(tǒng)資源而導致用戶對電腦的其他操作都很難進行,那么,沒有人會用這款軟件。所以,該軟件還應(yīng)該具備一種特點就是:低的系統(tǒng)資源占用率。4網(wǎng)絡(luò)嗅探器原理網(wǎng)絡(luò)數(shù)據(jù)捕獲技術(shù)是獲取信息的關(guān)鍵技術(shù),它通過監(jiān)聽技術(shù),過濾技術(shù)獲取原始數(shù)據(jù),根據(jù)tcp/ip分層理論進行層層拆解,提取相關(guān)協(xié)議中的信息。本畢業(yè)設(shè)計主要通過使用sniffer開發(fā)包,在java環(huán)境下編寫出了一款簡單的軟件對數(shù)

27、據(jù)包信息按tcp協(xié)議類型、udp協(xié)議類型、icmp、igmp、arp進行分類捕獲,捕獲出所需要的敏感信息,并且將捕獲出來的信息寫入數(shù)據(jù)庫。4.1系統(tǒng)功能概述先描述一下信息在網(wǎng)絡(luò)上的傳輸、信息的特征類型和任何被偷聽的。網(wǎng)絡(luò)的一個特點就是數(shù)據(jù)總是在流動中,從一處到另外一處,而互聯(lián)網(wǎng)是由錯綜復(fù)雜的各種網(wǎng)絡(luò)交匯而成的,也就是說:當你的數(shù)據(jù)從網(wǎng)絡(luò)的一臺電腦到另一臺電腦的時候,通常會經(jīng)過大量不同的網(wǎng)絡(luò)設(shè)備,(我們用tracert命令就可以看到這種路徑是如何進行的)。如果傳輸過程中,有人看到了傳輸中的數(shù)據(jù),那么問題就出現(xiàn)了這就好比給人發(fā)了一封郵件,在半路上被人拆開偷看一樣,這樣說或許還不是很可怕,那要是傳送

28、的數(shù)據(jù)是企業(yè)的機密文件那,或是用戶的信用卡帳號和密碼呢? 通過前面的敘述可以知道,這款軟件具有的功能,那就是:能夠分別捕獲局域網(wǎng)中的tcp協(xié)議類型數(shù)據(jù),udp協(xié)議類型數(shù)據(jù)和從某一特定的ip地址發(fā)送出來的tcp協(xié)議類型數(shù)據(jù)和udp協(xié)議數(shù)據(jù)類型。并且,將這些捕獲出來的數(shù)據(jù)包的基本信息存入到數(shù)據(jù)庫中,提供給網(wǎng)絡(luò)管理員使用和進一步的分析。嗅探偵聽主要有兩種途徑,一種是將偵聽工具軟件放到網(wǎng)絡(luò)連接的設(shè)備或者放到可以控制網(wǎng)絡(luò)連接設(shè)備的電腦上,(比如網(wǎng)關(guān)服務(wù)器,路由器)當然要實現(xiàn)這樣的效果可能也需要通過其他黑客技術(shù)來實現(xiàn):比如通過木馬方式將嗅探器發(fā)給某個網(wǎng)絡(luò)管理員,使其不自覺的為攻擊者進行了安裝。另外一種是針

29、對不安全的局域網(wǎng)(采用交換hub實現(xiàn)),放到個人電腦上就可以實現(xiàn)對整個局域網(wǎng)的偵聽,這里的原理是這樣的:共享hub獲得一個子網(wǎng)內(nèi)需要接收的數(shù)據(jù)時,并不是直接發(fā)送到指定主機,而是通過廣播方式發(fā)送到每個電腦,對于處于接受者地位的電腦就會處理該數(shù)據(jù),而其他非接受者的電腦就會過濾這些數(shù)據(jù),這些操作與電腦操作者無關(guān),是系統(tǒng)自動完成的,但是電腦操作者如果有意的話,他是可以將那些原本不屬于他的數(shù)據(jù)打開這就是安全隱患。以太網(wǎng)的數(shù)據(jù)傳輸是基于“共享”原理的:所有的同一本地網(wǎng)范圍內(nèi)的計算機共同接收到相同的數(shù)據(jù)包。這意味著計算機直接的通訊都是透明可見的。正是因為這樣的原因,以太網(wǎng)卡都構(gòu)造了硬件的“過濾器”這個過濾器

30、將忽略掉一切和自己無關(guān)的網(wǎng)絡(luò)信息。事實上是忽略掉了與自身mac地址不符合的信息。 嗅探程序正是利用了這個特點,它主動的關(guān)閉了這個嗅探器,也就是前面提到的設(shè)置網(wǎng)卡“混雜模式”。因此,嗅探程序就能夠接收到整個以太網(wǎng)內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)了信息了。由于大量的計算機在以太網(wǎng)內(nèi)“共享“數(shù)據(jù)流,所以必須有一個統(tǒng)一的辦法用來區(qū)分傳遞給不同計算機的數(shù)據(jù)流。這種問題不會發(fā)生在撥號用戶身上,因為計算機會假定一切數(shù)據(jù)都由用戶動給modem然后通過電話線傳送出去??墒?,當發(fā)送數(shù)據(jù)到以太網(wǎng)上的時候,你必須弄清楚,哪臺計算機是你發(fā)送數(shù)據(jù)的對象。的確,現(xiàn)在有大量的雙向通訊程序出現(xiàn)了,看上去,他們好像只會在兩臺機器內(nèi)交換信息,可以太網(wǎng)

31、的信息是共享的,其他用戶,其實一樣接收到了你發(fā)送的數(shù)據(jù),只不過是被過濾器給忽略掉了。 mac地址是由一組6個16進制數(shù)組成的,它存在于每一塊以太網(wǎng)卡中。如果對網(wǎng)絡(luò)結(jié)構(gòu)不太熟悉,建議參考一下osi 7-layer model,這將有助于理解后面的東西以太網(wǎng)所使用的協(xié)議主要是tcp/ip,并且tcp/ip也用于其他的網(wǎng)絡(luò)模型(比如撥號用戶,他們并不是處于一個以太網(wǎng)環(huán)境中)。舉例一下,很多的小團體計算機用戶都為實現(xiàn)文件和打印共享,安裝了“netbeui” 因為它不是基于tcp/ip協(xié)議的,所以來自于網(wǎng)絡(luò)的黑客一樣無法得知他們的設(shè)備情況。基于raw協(xié)議,傳輸和接收都在以太網(wǎng)里起著支配作用。你不能直接發(fā)

32、送一個raw數(shù)據(jù)給以太網(wǎng),用戶必須先做一些事情,讓以太網(wǎng)能夠理解用戶的意思。這有點類似于郵寄信件的方法,不可能直接把一封信投遞出去,而是必須先裝信封,寫地址,貼郵票,網(wǎng)絡(luò)上的傳輸也是這樣的。 下面給出一個簡單的例子,助于理解系統(tǒng)的原理:假如有usera和userb,各自的ip如下usera ip 地址: 10.0.0.23 userb ip 地址: 192.168.100.54 現(xiàn)在知道usera要于userb進行計算機通訊,usera需要為10.0.0.23到192.168.100.54的通訊建立一個ip包 。這個ip包在網(wǎng)絡(luò)上傳輸,它必須能夠穿透路由器。因此,usera必須首先提交這個包給

33、路由器。由每個路由器考查目地ip地址然后決定傳送路徑。usera 所知道的只是本地與路由的連接,和userb的ip地址。usera并不清楚網(wǎng)絡(luò)的結(jié)構(gòu)情況和路由走向。usera必須告訴路由預(yù)備發(fā)送的數(shù)據(jù)包的情況,以太網(wǎng)數(shù)據(jù)傳輸結(jié)構(gòu)大概是這樣的: 圖4.1理解一下這個結(jié)構(gòu),usera的計算機建立了一個包假設(shè)它由100個字節(jié)的長度(假設(shè)20 個字節(jié)是ip信息,20個字節(jié)是tcp信息,還有60個字節(jié)為傳送的數(shù)據(jù))?,F(xiàn)在把這個包發(fā)給以太網(wǎng),放14個字節(jié)在目地mac地址之前,源mac地址,還要置一個0x0800的標記,他指示出了tcp/ip棧后的數(shù)據(jù)結(jié)構(gòu)。同時,也附加了4個字節(jié)用于做crc校驗,crc校驗

34、用來檢查傳輸數(shù)據(jù)的正確性?,F(xiàn)在發(fā)送數(shù)據(jù)到網(wǎng)絡(luò)。所有在網(wǎng)內(nèi)的計算機通過適配器都能夠發(fā)現(xiàn)這個數(shù)據(jù)片,其中也包括路由適配器,嗅探器和其他一些機器。通常,適配器都具有一塊芯片用來做結(jié)構(gòu)比較的,檢查結(jié)構(gòu)中的目地mac地址和自己的mac地址,如果不相同,則適配器會丟棄這個結(jié)構(gòu)。這個操作會由硬件來完成,所以,對于計算機內(nèi)的程序來說,整個過程時毫無察覺的。當路由器的以太網(wǎng)適配器發(fā)現(xiàn)這個結(jié)構(gòu)后,它會讀取網(wǎng)絡(luò)信息,并且去掉前14個字節(jié),跟蹤4個字節(jié)。查找0x8000標記,然后對這個結(jié)構(gòu)進行處理(它將根據(jù)網(wǎng)絡(luò)狀況推測出下一個最快路由節(jié)點,從而最快傳送數(shù)據(jù)到預(yù)定的目標地址)。 設(shè)想,只有路由機器能夠檢查這個結(jié)構(gòu),并且

35、所有其他的機器都忽略這個結(jié)構(gòu),則嗅探器無論如何也無法檢測到這個結(jié)構(gòu)的。 以太網(wǎng)卡的mac地址是一組48比特的數(shù)字,這48比特分為兩個部分組成,前面的24比特用于表示以太網(wǎng)卡的寄主,后面的24比特是一組序列號,是由寄主進行支派的。這樣可以擔保沒有任何兩塊網(wǎng)卡的mac地址是相同的(當然可以通過特殊的方法實現(xiàn))。如果出現(xiàn)相同的地址,將發(fā)生問題,所有這一點是非常重要的。這24比特被稱之為oui(organizationally unique identifier)??墒?,oui的真實長度只有22比特,還有兩個比特用于其他:一個比特用來校驗是否是廣播或者多播地址,另一個比特用來分配本地執(zhí)行地址(一些網(wǎng)絡(luò)

36、允許管理員針對具體情況再分配mac地址)。 舉個例子,你的mac地址在網(wǎng)絡(luò)中表示為 03 00 00 00 00 01 。第一個字節(jié)所包含的值二進制表示方法為00000011??梢钥吹剑詈髢蓚€比特都被置為真值。他指定了一個多播模式,向所有的計算機進行廣播,使用了“netbeui”協(xié)議(一般的,在windows計算機的網(wǎng)絡(luò)中,文件共享傳輸?shù)仁遣皇褂胻cp/ip協(xié)議的)。42功能模塊設(shè)計通過前面的敘述可以知道,這款軟件具有的功能,那就是:能夠分別捕獲局域網(wǎng)中的數(shù)據(jù)包。并且,將這些捕獲出來的數(shù)據(jù)包的基本信息存入到數(shù)據(jù)庫中,提供給網(wǎng)絡(luò)管理員使用和進一步的分析。本系統(tǒng)流程圖如下圖: 圖4-2 本系統(tǒng)包

37、括四個基本模塊,分別是數(shù)據(jù)包捕獲模塊,數(shù)據(jù)分析模塊,數(shù)據(jù)包存儲模塊和數(shù)據(jù)包顯示模塊。其中數(shù)據(jù)包捕獲模塊的功能是:利用sniffer控件,通過網(wǎng)卡設(shè)備從網(wǎng)絡(luò)中捕獲數(shù)據(jù)包;數(shù)據(jù)分析模塊的功能是:主要實現(xiàn)數(shù)據(jù)的解析,從網(wǎng)絡(luò)適配器中捕獲到的數(shù)據(jù)的為原始數(shù)據(jù)(raw data),這些原始數(shù)據(jù)為二進制格式,必須轉(zhuǎn)化為能比較好明白的格式,這就要求將這些原始數(shù)據(jù)能按照網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)木唧w格式來保存,主要為了能較好的讀懂相關(guān)的信息,以便使用者分析;數(shù)存儲模塊的功能是:經(jīng)過前兩個模塊處理后的數(shù)據(jù),現(xiàn)在已經(jīng)轉(zhuǎn)化成了對我們有用的信息了,而這些信息不可能一直讓他存放在內(nèi)存中,那么就需要在數(shù)據(jù)庫中建立相應(yīng)的表,把這些信息存

38、貯在這些數(shù)據(jù)庫表的相應(yīng)列名中,以使用者處理、使用。數(shù)據(jù)包顯示模塊的功能是:能讓使用者看到相關(guān)的數(shù)據(jù)包信息,顯示當前程序的判斷結(jié)果,讓用戶能根據(jù)顯示的信息和特征信息對比,從而能判斷當前網(wǎng)絡(luò)的性能。 421數(shù)據(jù)包捕獲模塊設(shè)計 數(shù)據(jù)包的抓捕模塊主要用sniffer開發(fā)包實現(xiàn),模塊的設(shè)計思想遵循sniffer捕獲數(shù)據(jù)包的流程,流程分三步:查找設(shè)備,打開設(shè)備和捕獲數(shù)據(jù)的函數(shù)。查找設(shè)備:查找網(wǎng)卡打開設(shè)備:打開網(wǎng)卡捕獲數(shù)據(jù)的函數(shù):編寫程序時所用的函數(shù)。數(shù)據(jù)包捕獲原理:網(wǎng)絡(luò)數(shù)據(jù)捕獲技術(shù)是獲取信息的關(guān)鍵技術(shù),它通過監(jiān)聽技術(shù),過濾技術(shù)獲取原始數(shù)據(jù),根據(jù)tcp/ip分層理論進行層層拆解,提取相關(guān)協(xié)議中的信息其抓包流

39、程圖如下 圖4-2-1422數(shù)據(jù)包解析存儲模塊相關(guān)數(shù)據(jù)信息捕獲分析完畢后,接下來就是對數(shù)據(jù)的保存。當存儲模塊從數(shù)據(jù)包抓捕模塊接到數(shù)據(jù)包時,先會和數(shù)據(jù)庫的特征信息進行對比,然后可以再次抓包和已對比的數(shù)據(jù)包進行存儲,等待其他模塊調(diào)用。數(shù)據(jù)庫中存儲了數(shù)據(jù)包的特征信息,通過對比和存儲,使用戶知道接收到什么包以及接受到的數(shù)據(jù)包數(shù)量。數(shù)據(jù)包解析存儲模塊流程圖如下:圖4-2-2423數(shù)據(jù)包信息分析模塊設(shè)計數(shù)據(jù)分析模塊實現(xiàn)時,本系統(tǒng)提取的數(shù)據(jù)包中主要的一些信息,如數(shù)據(jù)包中的ip地址,端口信息等。網(wǎng)絡(luò)中的數(shù)據(jù)包都有各自的大小、生存時間、端口信息等特征,通過對捕獲的數(shù)據(jù)包進行解封可以知道各自屬于什么包、包的源地址

40、等。數(shù)據(jù)包信息分析模塊流程圖如下: 圖4-2-3424數(shù)據(jù)包信息顯示模塊設(shè)計數(shù)據(jù)包顯示模塊的功能是:主要實現(xiàn)數(shù)據(jù)的反饋信息,將這些數(shù)據(jù)的分析結(jié)果轉(zhuǎn)為能讓使用者比較好理解的格式,這就要求將這些原始數(shù)據(jù)能按照網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)木唧w格式來保存,主要為了能較好的讀懂相關(guān)的信息,以便使用者分析 圖4-2-45網(wǎng)絡(luò)嗅探器的設(shè)計 基于windowns form編程實現(xiàn)一個簡單嗅探器的設(shè)計和實現(xiàn)。5.1測試環(huán)境在編寫本軟件前,首先確定了使用java語言。本軟件必須首先安裝java編程環(huán)境中設(shè)置好相關(guān)配置。由于這是一個抓包程序,因此需要兩臺以上的pc機和一些網(wǎng)絡(luò)通訊設(shè)備,具體的實驗環(huán)境:個人電腦2臺或2臺以上,交換

41、機一個,網(wǎng)線若干,電腦通過交換機組成一個局域網(wǎng)環(huán)境。有于水平有限,不可能實現(xiàn)像sniffer或者影音神探那樣復(fù)雜的設(shè)置和分析,所以我們只對抓取到的本機在網(wǎng)絡(luò)中的通信數(shù)據(jù)(如協(xié)議類型,源、目的地址和端口、數(shù)據(jù)包的大小等)加以分析,實現(xiàn)一個簡單的網(wǎng)絡(luò)嗅探器。一個窗體顯示主頁面,另一個頁面顯示詳細的包信息。詳細信息頁面,我們顯示一下信息:開始時間:嗅探器抓取數(shù)據(jù)包的時間; 源端口:源目的ip地址+端口號;目的端口:目的ip地址+端口號;協(xié)議類型:只分析一下類型,gpg,icmp,idp,igmp,ip,nd,pup,tcp,udp,其他的不再分析;版本信息:協(xié)議的版本;生存時間:;報頭大?。簣笪膱笫?/p>

42、部大??;報文總長:整個數(shù)據(jù)報的大??;優(yōu)先級別:提供七個級別,分別是routine = 0,priority = 1,immediate = 2,flash = 3,flashoverride = 4,criticecp = 5,internetworkcontrol = 6,networkcontrol = 7;延遲:normaldelay = 0、 lowdelay = 1;吞吐量:normalthroughput = 0,highthroughput = 1; 可靠性:normalreliability = 0,highreliability = 1;項目實施(1)java第三方winfo

43、rm開發(fā)工具中新建項目windows應(yīng)用程序mysinffer。 (2)添加一個窗體文件和一個類文件,分別命名form1.cs、assemblyinfo.cs.cs實現(xiàn)詳細信息頁面。(3)編碼,詳細的代碼如源程序。當使用系統(tǒng)類提供的接口取到數(shù)據(jù)包的bite流時,對流的初始化處理如下:public packet(byte raw, datetime time) if (raw = null)throw new argumentnullexception();if (raw.length 4; m_headerlength = (raw0 & 0x0f) * 4;if (raw0 & 0x0f)

44、5);m_delay = (delay)(raw1 & 0x10) 4);m_throughput = (throughput)(raw1 & 0x8) 3);m_reliability = (reliability)(raw1 & 0x4) 2);m_totallength = raw2 * 256 + raw3;if (m_totallength != raw.length)throw new argumentexception(); / 無效的數(shù)據(jù)包大小m_identification = raw4 * 256 + raw5;m_timetolive = raw8;if (enum.isdefined(typeof(protocol), (int)raw9)m_protocol = (protocol)raw9;elsem_protocol = protocol.other;m_checksum = new byte2;m_checksum0 = raw11;m_checksum1 = raw10;m_sourceaddress = new ipaddress(bitconverter.touint32(raw, 12);m_destinationaddress =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論