前言:本站為你精心整理了網(wǎng)絡(luò)數(shù)據(jù)包傳輸技術(shù)管理范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
編者按:本論文主要從數(shù)據(jù)包捕獲概述;以太網(wǎng)捕獲數(shù)據(jù)包的實(shí)現(xiàn)原理;共享和交換以太網(wǎng)下的捕包等進(jìn)行講述,包括了在共享以太網(wǎng)中捕包、在交換以太網(wǎng)中捕包、在以太網(wǎng)上通訊的每張網(wǎng)卡上都擁有一個(gè)全球唯一的物理地址、在接收到上面兩種情況的數(shù)據(jù)幀時(shí),網(wǎng)卡通過CPU產(chǎn)生中斷等,具體資料請見:
摘要:分析了數(shù)據(jù)包捕獲概念和基本原理,以及在共享和交換網(wǎng)絡(luò)下捕獲數(shù)據(jù)包的實(shí)現(xiàn)方法;重點(diǎn)介紹了常見的包捕獲機(jī)制。
關(guān)鍵詞:數(shù)據(jù)包;捕獲;以太網(wǎng)
1數(shù)據(jù)包捕獲概述
計(jì)算機(jī)網(wǎng)絡(luò)在傳輸數(shù)據(jù)時(shí),為了保證所有共享網(wǎng)絡(luò)資源的計(jì)算機(jī)都能公平、迅速地使用網(wǎng)絡(luò),通常把數(shù)據(jù)分割成若干小塊作為傳輸單位進(jìn)行發(fā)送,這樣的傳輸單位我們通常稱之為包,也叫“數(shù)據(jù)包”。目前有兩種方法可以從網(wǎng)絡(luò)中捕獲數(shù)據(jù)包,一種是采用專用硬件,另一種是利用普通計(jì)算機(jī)與網(wǎng)絡(luò)連接的通用硬件網(wǎng)絡(luò)適配器,即網(wǎng)卡,由軟件來完成數(shù)據(jù)包的捕獲。雖然由軟件來捕獲數(shù)據(jù)包的方法在性能上比不上專用硬件,但其實(shí)現(xiàn)成本相對更低,且易于修改和更新。基于以上原因,采用軟件的捕獲方法得到了廣泛的使用和認(rèn)同。
從網(wǎng)絡(luò)捕獲數(shù)據(jù)包是所有網(wǎng)絡(luò)安全產(chǎn)品實(shí)現(xiàn)中非常重要的一環(huán),它是安全產(chǎn)品其它功能的基礎(chǔ),而實(shí)現(xiàn)網(wǎng)絡(luò)捕包的一個(gè)最重要的條件就是要能夠接收網(wǎng)絡(luò)上所有的數(shù)據(jù)包。要滿足此條件就必須了解數(shù)據(jù)包在網(wǎng)絡(luò)上的傳輸方式。計(jì)算機(jī)網(wǎng)絡(luò)從傳輸方式的角度分為兩類:采用點(diǎn)到點(diǎn)連接的網(wǎng)絡(luò)和采用廣播方式的網(wǎng)絡(luò)。廣域網(wǎng)中一般采用點(diǎn)到點(diǎn)連接方式,而幾乎所有的局域網(wǎng)都以廣播方式作為通信的基礎(chǔ),網(wǎng)上的站點(diǎn)共享信道,一個(gè)站點(diǎn)發(fā)出的數(shù)據(jù)包,其他站點(diǎn)均能收到,也就是說,任一臺計(jì)算機(jī)都可以接收到網(wǎng)絡(luò)中同一個(gè)共享域的所有的數(shù)據(jù)通訊。
2以太網(wǎng)捕獲數(shù)據(jù)包的實(shí)現(xiàn)原理
在以太網(wǎng)上通訊的每張網(wǎng)卡上都擁有一個(gè)全球唯一的物理地址,也叫MAC地址。該地址是一個(gè)48比特的二進(jìn)制數(shù)。在以太網(wǎng)卡中內(nèi)建有一個(gè)數(shù)據(jù)包過濾器。該數(shù)據(jù)包過濾器的作用是保留以本身網(wǎng)卡的MAC地址為通訊目的的數(shù)據(jù)包和廣播數(shù)據(jù)包,丟棄所有其它無關(guān)的數(shù)據(jù)包,以免CPU對無關(guān)的數(shù)據(jù)報(bào)作無謂的處理。這是以太網(wǎng)卡在一般情況下的工作方式。因此在正常情況下,一個(gè)合法的網(wǎng)絡(luò)接口應(yīng)該只響應(yīng)這樣的兩種數(shù)據(jù)包(幀):
(1)幀的目標(biāo)地址具有和本地網(wǎng)絡(luò)接口相匹配的硬件地址。
(2)幀的目標(biāo)地址是“廣播地址”(代表所有的接口地址),格式為“FFFFFFFFFFFF”。
在接收到上面兩種情況的數(shù)據(jù)幀時(shí),網(wǎng)卡通過CPU產(chǎn)生中斷,操作系統(tǒng)進(jìn)行中斷處理后將幀中包含的數(shù)據(jù)傳送給上層系統(tǒng)進(jìn)行進(jìn)一步處理。在其他情況下數(shù)據(jù)幀將被丟棄而不作處理。
要想捕獲到流經(jīng)網(wǎng)卡的不屬于本主機(jī)的數(shù)據(jù),必須繞過系統(tǒng)正常工作的處理機(jī)制,直接訪問網(wǎng)絡(luò)底層。我們可以把網(wǎng)卡的狀態(tài)設(shè)為“混雜”(promiscuous)模式,當(dāng)網(wǎng)卡工作在這種“混雜”模式時(shí),該網(wǎng)卡就具備了“廣播地址”,它對所接收到的每一個(gè)幀都產(chǎn)生一個(gè)硬件中斷以提醒操作系統(tǒng)處理流經(jīng)該網(wǎng)卡上的每一個(gè)報(bào)文包。操作系統(tǒng)通過直接訪問鏈路層,截獲相關(guān)數(shù)據(jù),由應(yīng)用程序而非上層協(xié)議(如IP層、TCP層)對數(shù)據(jù)過濾處理,這樣就可以捕獲到流經(jīng)網(wǎng)卡的所有數(shù)據(jù)。
3共享和交換以太網(wǎng)下的捕包
首先從TCP/IP模型的角度來看數(shù)據(jù)包在局域網(wǎng)內(nèi)發(fā)送的過程:當(dāng)數(shù)據(jù)由應(yīng)用層自上而下地傳遞時(shí),在網(wǎng)絡(luò)層形成IP數(shù)據(jù)報(bào),再向下到達(dá)數(shù)據(jù)鏈路層,由數(shù)據(jù)鏈路層將IP數(shù)據(jù)報(bào)分割為數(shù)據(jù)幀,增加以太網(wǎng)包頭,再向下一層發(fā)送。需要說明的是,以太網(wǎng)的包頭中包含著本機(jī)和目標(biāo)設(shè)備的MAC地址,也就是說,數(shù)據(jù)鏈路層的數(shù)據(jù)幀發(fā)送時(shí),是依靠48bits的以太網(wǎng)地址而非IP地址來確認(rèn)的,以太網(wǎng)的網(wǎng)卡設(shè)備驅(qū)動程序不會關(guān)心IP數(shù)據(jù)報(bào)中的目的IP地址,它所需要的僅僅是MAC地址。
3.1在共享以太網(wǎng)中捕包
共享式以太網(wǎng)的典型代表是使用10Base5的總線型網(wǎng)絡(luò)和以集線器(HUB)為核心的星型網(wǎng)絡(luò)。集線器工作在物理層。在使用集線器的以太網(wǎng)中,集線器將很多以太網(wǎng)設(shè)備集中到一臺中心設(shè)備上,這些設(shè)備都連接到集線器中的同一物理總線結(jié)構(gòu)中。從本質(zhì)上講,以集線器為核心的以太網(wǎng)同原先的總線型以太網(wǎng)無根本區(qū)別,集線器并不處理或檢查其上的通信量,僅通過將一個(gè)端口接收的信號重復(fù)分發(fā)給其他端口來擴(kuò)展物理介質(zhì)。所有連接到集線器的設(shè)備共享同一介質(zhì),其結(jié)果是它們也共享同一沖突域、廣播和帶寬。因此集線器和它所連接的設(shè)備組成了一個(gè)單一的沖突域。如果一個(gè)節(jié)點(diǎn)發(fā)出一個(gè)廣播信息,集線器會將這個(gè)廣播傳播給所有同它相連的所有節(jié)點(diǎn),因此它也是一個(gè)單一的廣播域。
當(dāng)局域網(wǎng)內(nèi)的主機(jī)通過HUB連接時(shí),HUB的作用就是局域網(wǎng)上面的一個(gè)共享的廣播媒體,所有通過局域網(wǎng)發(fā)送的數(shù)據(jù)首先被送到HUB,然后HUB將接收到的所有數(shù)據(jù)向它的每個(gè)端口轉(zhuǎn)發(fā)。因此我們只要將某臺主機(jī)的網(wǎng)卡設(shè)置為混雜模式,就可以接收到局域網(wǎng)內(nèi)所有主機(jī)間的數(shù)據(jù)流量。
3.2在交換以太網(wǎng)中捕包
在交換式以太網(wǎng)中,交換機(jī)根據(jù)收到數(shù)據(jù)幀中的源MAC地址建立該地址同交換機(jī)端口的映射,并將其寫入MAC地址表中。當(dāng)有數(shù)據(jù)包發(fā)送到交換機(jī)時(shí),交換機(jī)會將數(shù)據(jù)包中的目的MAC地址與自己維護(hù)的MAC地址端口映射表中的數(shù)據(jù)進(jìn)行對照,然后將數(shù)據(jù)包發(fā)送到對應(yīng)的端口上。對交換機(jī)而言,僅有兩種情況會發(fā)送廣播,一是數(shù)據(jù)包的目的MAC地址不在交換機(jī)維護(hù)的數(shù)據(jù)庫中,此時(shí)數(shù)據(jù)包向所有端口轉(zhuǎn)發(fā),這一過程稱之為泛洪(flood);二是數(shù)據(jù)包本身就是廣播包。
不同于工作在物理層的集線器,交換機(jī)是工作在數(shù)據(jù)鏈路層的。由于端口間的傳遞的數(shù)據(jù)幀彼此屏蔽,因此節(jié)點(diǎn)就不擔(dān)心自己發(fā)送的幀在通過交換機(jī)時(shí)是否會與其他節(jié)點(diǎn)發(fā)送的幀產(chǎn)生沖突。交換機(jī)將沖突隔絕在每一個(gè)端口(每個(gè)端口都是一個(gè)沖突域),避免了沖突的擴(kuò)散。因此,基于交換機(jī)以太網(wǎng)建立的局域網(wǎng)并不是真正的廣播媒體,交換機(jī)限制了被動監(jiān)聽工具所能截獲的數(shù)據(jù)。因此,要捕獲數(shù)據(jù)包就必須將捕包系統(tǒng)運(yùn)行在網(wǎng)關(guān)或路由器上,如果想在網(wǎng)段的任意一臺主機(jī)上實(shí)現(xiàn)捕包功能,就需要采取其它的方法:
(1)端口鏡像。當(dāng)路由器或交換機(jī)具備端口鏡像功能時(shí),我們可以通過鏡像端口完成抓包工作。路由器或交換機(jī)的端口鏡像功能,是指可以將一個(gè)端口的流量自動復(fù)制到另一端口,供網(wǎng)絡(luò)管理員在判斷網(wǎng)絡(luò)問題時(shí)對端口流量和內(nèi)容進(jìn)行實(shí)時(shí)分析。通過交換機(jī)的鏡像端口,這些流量就可以被一個(gè)特殊的設(shè)備監(jiān)控,對發(fā)現(xiàn)和排除故障有很大的幫助。
(2)MAC洪泛法。通過在局域網(wǎng)上發(fā)送大量隨機(jī)的MAC地址,以造成交換機(jī)的內(nèi)存耗盡,當(dāng)內(nèi)存耗盡時(shí),一些交換機(jī)便開始向所有連在它上面的鏈路發(fā)送數(shù)據(jù)。不過這種方法對網(wǎng)絡(luò)會造成很大的堵塞,造成網(wǎng)絡(luò)性能下降。
(3)ARP欺騙。ARP協(xié)議的作用是將IP地址映射到MAC地址,攻擊者通過向目標(biāo)主機(jī)發(fā)送偽造的ARP應(yīng)答包,騙取目標(biāo)系統(tǒng)更新自身的ARP緩存表,將目標(biāo)系統(tǒng)的網(wǎng)關(guān)的MAC地址修改為監(jiān)聽者的主機(jī)MAC地址,使數(shù)據(jù)包都經(jīng)由監(jiān)聽者的主機(jī),同時(shí)監(jiān)聽者向網(wǎng)關(guān)發(fā)送偽造的ARP應(yīng)答包,欺騙網(wǎng)關(guān)更新自己的ARP緩存表,是網(wǎng)關(guān)發(fā)給目標(biāo)主機(jī)的數(shù)據(jù)也都流經(jīng)監(jiān)聽者的主機(jī),這樣就實(shí)現(xiàn)了交換環(huán)境下的網(wǎng)絡(luò)監(jiān)聽。值得一提的是,黑客經(jīng)常會以此方法進(jìn)行攻擊和竊取數(shù)據(jù)。
4總結(jié)
不同的操作系統(tǒng)實(shí)現(xiàn)的底層包捕獲機(jī)制可能是不一樣的,但從形式上看大同小異。數(shù)據(jù)包常規(guī)的傳輸路徑依次為網(wǎng)卡、設(shè)備驅(qū)動層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、最后到達(dá)應(yīng)用程序。而包捕獲機(jī)制是在數(shù)據(jù)鏈路層增加一個(gè)旁路處理,對發(fā)送和接收到的數(shù)據(jù)包做過濾、緩沖等相關(guān)處理,最后直接傳遞到應(yīng)用程序。值得注意的是,包捕獲機(jī)制并不影響操作系統(tǒng)對數(shù)據(jù)包的網(wǎng)絡(luò)棧處理。對用戶程序而言,包捕獲機(jī)制提供了一個(gè)統(tǒng)一的接口,使用戶程序只需要簡單的調(diào)用若干函數(shù)就能獲得所期望的數(shù)據(jù)包。這樣一來,針對特定操作系統(tǒng)的捕獲機(jī)制對用戶透明,使用戶程序有比較好的可移植性。包過濾機(jī)制是對所捕獲到的數(shù)據(jù)包根據(jù)用戶的要求進(jìn)行篩選,最終只把滿足過濾條件的數(shù)據(jù)包傳遞給用戶程序。
網(wǎng)絡(luò)營銷 網(wǎng)絡(luò)教育研究 網(wǎng)絡(luò)廣告 網(wǎng)絡(luò)通信 網(wǎng)絡(luò)安全 網(wǎng)絡(luò)環(huán)境 網(wǎng)絡(luò)實(shí)訓(xùn)報(bào)告 網(wǎng)絡(luò)輿論論文 網(wǎng)絡(luò)暴力相關(guān)案例 網(wǎng)絡(luò)建設(shè)論文 紀(jì)律教育問題 新時(shí)代教育價(jià)值觀