亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

研究網(wǎng)絡數(shù)據(jù)包捕獲技術

時間:2020-10-06 14:02:48 計算機畢業(yè)論文 我要投稿

研究網(wǎng)絡數(shù)據(jù)包捕獲技術

摘要:分析了數(shù)據(jù)包捕獲概念和基本原理,以及在共享和交換網(wǎng)絡下捕獲數(shù)據(jù)包的實現(xiàn)方法;重點介紹了常見的包捕獲機制。


關鍵詞:數(shù)據(jù)包;捕獲;以太網(wǎng)
  
  1 數(shù)據(jù)包捕獲概述
  
  計算機網(wǎng)絡在傳輸數(shù)據(jù)時,為了保證所有共享網(wǎng)絡資源的計算機都能公平、迅速地使用網(wǎng)絡,通常把數(shù)據(jù)分割成若干小塊作為傳輸單位進行發(fā)送,這樣的傳輸單位我們通常稱之為包,也叫“數(shù)據(jù)包”。目前有兩種方法可以從網(wǎng)絡中捕獲數(shù)據(jù)包,一種是采用專用硬件,另一種是利用普通計算機與網(wǎng)絡連接的通用硬件?網(wǎng)絡適配器,即網(wǎng)卡,由軟件來完成數(shù)據(jù)包的捕獲。雖然由軟件來捕獲數(shù)據(jù)包的方法在性能上比不上專用硬件,但其實現(xiàn)成本相對更低,且易于修改和更新;谝陨显,采用軟件的捕獲方法得到了廣泛的使用和認同。
  從網(wǎng)絡捕獲數(shù)據(jù)包是所有網(wǎng)絡安全產(chǎn)品實現(xiàn)中非常重要的一環(huán),它是安全產(chǎn)品其它功能的基礎,而實現(xiàn)網(wǎng)絡捕包的一個最重要的條件就是要能夠接收網(wǎng)絡上所有的數(shù)據(jù)包。要滿足此條件就必須了解數(shù)據(jù)包在網(wǎng)絡上的傳輸方式。計算機網(wǎng)絡從傳輸方式的角度分為兩類:采用點到點連接的網(wǎng)絡和采用廣播方式的網(wǎng)絡。廣域網(wǎng)中一般采用點到點連接方式,而幾乎所有的局域網(wǎng)都以廣播方式作為通信的基礎,網(wǎng)上的站點共享信道,一個站點發(fā)出的數(shù)據(jù)包,其他站點均能收到,也就是說,任一臺計算機都可以接收到網(wǎng)絡中同一個共享域的所有的數(shù)據(jù)通訊。
  
  2 以太網(wǎng)捕獲數(shù)據(jù)包的實現(xiàn)原理
  
  在以太網(wǎng)上通訊的每張網(wǎng)卡上都擁有一個全球唯一的物理地址,也叫MAC地址。該地址是一個48比特的二進制數(shù)。在以太網(wǎng)卡中內(nèi)建有一個數(shù)據(jù)包過濾器。該數(shù)據(jù)包過濾器的作用是保留以本身網(wǎng)卡的MAC地址為通訊目的的數(shù)據(jù)包和廣播數(shù)據(jù)包,丟棄所有其它無關的數(shù)據(jù)包,以免CPU對無關的數(shù)據(jù)報作無謂的處理。這是以太網(wǎng)卡在一般情況下的工作方式。因此在正常情況下,一個合法的網(wǎng)絡接口應該只響應這樣的兩種數(shù)據(jù)包(幀):
  (1)幀的目標地址具有和本地網(wǎng)絡接口相匹配的硬件地址。
  (2)幀的目標地址是“廣播地址”(代表所有的接口地址),格式為“FF?FF?FF?FF?FF?FF”。
  在接收到上面兩種情況的數(shù)據(jù)幀時,網(wǎng)卡通過CPU產(chǎn)生中斷,操作系統(tǒng)進行中斷處理后將幀中包含的數(shù)據(jù)傳送給上層系統(tǒng)進行進一步處理。在其他情況下數(shù)據(jù)幀將被丟棄而不作處理。
  要想捕獲到流經(jīng)網(wǎng)卡的不屬于本主機的數(shù)據(jù),必須繞過系統(tǒng)正常工作的處理機制,直接訪問網(wǎng)絡底層。我們可以把網(wǎng)卡的狀態(tài)設為“混雜”(promiscuous)模式,當網(wǎng)卡工作在這種“混雜”模式時,該網(wǎng)卡就具備了“廣播地址”,它對所接收到的每一個幀都產(chǎn)生一個硬件中斷以提醒操作系統(tǒng)處理流經(jīng)該網(wǎng)卡上的每一個報文包。操作系統(tǒng)通過直接訪問鏈路層,截獲相關數(shù)據(jù),由應用程序而非上層協(xié)議(如IP層、TCP層)對數(shù)據(jù)過濾處理,這樣就可以捕獲到流經(jīng)網(wǎng)卡的所有數(shù)據(jù)。
  
  3 共享和交換以太網(wǎng)下的捕包
  
  首先從TCP/IP模型的角度來看數(shù)據(jù)包在局域網(wǎng)內(nèi)發(fā)送的過程:當數(shù)據(jù)由應用層自上而下地傳遞時,在網(wǎng)絡層形成IP數(shù)據(jù)報,再向下到達數(shù)據(jù)鏈路層,由數(shù)據(jù)鏈路層將IP數(shù)據(jù)報分割為數(shù)據(jù)幀,增加以太網(wǎng)包頭,再向下一層發(fā)送。需要說明的是,以太網(wǎng)的包頭中包含著本機和目標設備的MAC地址,也就是說,數(shù)據(jù)鏈路層的數(shù)據(jù)幀發(fā)送時,是依靠48bits的'以太網(wǎng)地址而非IP地址來確認的,以太網(wǎng)的網(wǎng)卡設備驅動程序不會關心IP數(shù)據(jù)報中的目的IP地址,它所需要的僅僅是MAC地址。
  3.1 在共享以太網(wǎng)中捕包
  共享式以太網(wǎng)的典型代表是使用10Base?5的總線型網(wǎng)絡和以集線器(HUB)為核心的星型網(wǎng)絡。集線器工作在物理層。在使用集線器的以太網(wǎng)中,集線器將很多以太網(wǎng)設備集中到一臺中心設備上,這些設備都連接到集線器中的同一物理總線結構中。從本質上講,以集線器為核心的以太網(wǎng)同原先的總線型以太網(wǎng)無根本區(qū)別,集線器并不處理或檢查其上的通信量,僅通過將一個端口接收的信號重復分發(fā)給其他端口來擴展物理介質。所有連接到集線器的設備共享同一介質,其結果是它們也共享同一沖突域、廣播和帶寬。因此集線器和它所連接的設備組成了一個單一的沖突域。如果一個節(jié)點發(fā)出一個廣播信息,集線器會將這個廣播傳播給所有同它相連的所有節(jié)點,因此它也是一個單一的廣播域。