郭麗莉
(中國聯(lián)合網(wǎng)絡通信有限公司四平市分公司,吉林 四平 136000)
在碼流中一個表示一個特定的疊塊、層次、分量、分辨率和圍地的連續(xù)的數(shù)據(jù)字段稱為數(shù)據(jù)包。數(shù)據(jù)包數(shù)據(jù)以8比特字節(jié)對齊。
數(shù)據(jù)包數(shù)據(jù)首先由一個包頭引導,碼頭后面是數(shù)據(jù)包體,它包含了每一個相關(guān)編碼子塊的編碼字節(jié)在構(gòu)造包頭和包體時必須遵循上述數(shù)據(jù)排放次序。
在TCP/IP互聯(lián)網(wǎng)上傳輸?shù)囊粋€分組叫IP數(shù)據(jù)包(Datagram),每個數(shù)據(jù)包包含一個頭部和位于其后的數(shù)據(jù)。在數(shù)據(jù)包頭部的源和目的地址都采用IP地址。
位于數(shù)據(jù)包傳輸路徑上的每一個路由器從數(shù)據(jù)包首部提取目的地址,由目的地址在路由器的路由表中查找發(fā)往目的地的下一跳地址,然后路由器將數(shù)據(jù)包傳遞給下一跳,直至到達目的地。
路由表有3個基本字段:目的網(wǎng)絡地址字段,目的網(wǎng)絡地址的地址掩碼字段和到達目的網(wǎng)絡的下一跳字段。在數(shù)據(jù)包頭部的目的地址總是數(shù)據(jù)包的最終目的地址。目的地址與其對應的掩碼“按位與”操作,得出目的地址主機所在網(wǎng)絡的網(wǎng)絡地址。然后,根據(jù)這個網(wǎng)絡地址,決定下一跳地址,通過一個特定的連接,將數(shù)據(jù)發(fā)給下一跳。
IP數(shù)據(jù)包首部(頭)格式包含以下內(nèi)容:
(1)版本號(Vers),包含了生成該數(shù)據(jù)包的IP協(xié)議的版本信息,它用來證實發(fā)送方,接收方和它們之間的所有路由器都同意的數(shù)據(jù)包格式。
(2)首部長度(Header Length)字段,給出了以32位字長為單位的首部長度。
(3)服務(Service Type)字段,包含 5個子字段,3個比特的優(yōu)先級干字段指明本數(shù)據(jù)包的優(yōu)先級,允許發(fā)送方表示本數(shù)據(jù)包的重要程度。優(yōu)先級的值從0(普通優(yōu)先級)到7(網(wǎng)絡控制),D.T和R位表示本數(shù)據(jù)包所希望的運輸類型,這些位的值為1時,D代表低延時,T要求高吞吐量,R要求高可靠性。
(4)總長度(Total Length)字段,給出了以8位組為單位的IP數(shù)據(jù)包長度。
(5)壽命(Time to Live)字段,設置了該數(shù)據(jù)包在互聯(lián)網(wǎng)中允許存在的時間(秒)或允許經(jīng)過的路由器的數(shù)目。它是一個介于1-255之間的整數(shù)。
(6)首部校驗和(Header Checksum)字段,用于保證首部數(shù)據(jù)的完整性。IP校驗和的計算是把首部看成一個16位的整數(shù)序列,對每個整數(shù)分別計算其二進制反碼,然后相加,再對結(jié)果計算一次二進制反碼而求得。為了計算校驗和,假定首部校驗和字段為0。
(7)源站地址(Source IP Address)和目的站地址(Desination IP Address)字段,包含了數(shù)據(jù)包的(原始)發(fā)送方和(最終)接收方的32位IP地址。
目前有兩種方法可以從網(wǎng)絡中捕獲數(shù)據(jù)包,一種是采用專用硬件,如網(wǎng)絡監(jiān)視器等,另一種是利用普通計算機與網(wǎng)絡連接的通用硬件一網(wǎng)絡適配器,即網(wǎng)卡,由軟件來完成數(shù)據(jù)包的捕獲。下面我們分別加以闡述:
網(wǎng)絡監(jiān)視器關(guān)注網(wǎng)絡活動,用戶若想了解網(wǎng)絡組件的行為和通信量,則要安裝、使用網(wǎng)絡監(jiān)視器。
網(wǎng)絡管理員使用網(wǎng)絡監(jiān)視器查看檢測局域網(wǎng)(LAN)的問題,例如,在兩臺或更多計算機不能通信時,網(wǎng)絡管理員使用網(wǎng)絡監(jiān)視器診斷硬件和軟件問題,也可以將網(wǎng)絡活動的記錄復制到文件中,然后將文件發(fā)送給專AV,網(wǎng)絡分析員或有關(guān)組織。在開發(fā)網(wǎng)絡應用程序時,網(wǎng)絡應用程序開發(fā)員可使用網(wǎng)絡監(jiān)視器以監(jiān)視、調(diào)試網(wǎng)絡應用程序。
為阻止網(wǎng)絡上未授權(quán)的網(wǎng)絡監(jiān)視器的安裝使用,網(wǎng)絡監(jiān)視器能檢測到在網(wǎng)絡局部運行的其他網(wǎng)絡監(jiān)視器的安裝。通過系統(tǒng)管理服務器的網(wǎng)絡監(jiān)視器或系統(tǒng)肺視器的網(wǎng)絡段對象.網(wǎng)絡監(jiān)視器可檢測到遠程使用的網(wǎng)絡監(jiān)視器驅(qū)動器的所有程序,這些程序被用于浦獲網(wǎng)上數(shù)據(jù)。
當網(wǎng)絡監(jiān)視器檢測到運行在網(wǎng)上的網(wǎng)絡監(jiān)視器的其他安裝時,它會顯示下列信息:
.計算機名稱
.登錄此計算機的用戶名稱
.遠程計算機上的網(wǎng)絡監(jiān)視器狀態(tài)(運行、捕獲、傳輸)
.遠程計算機的適配器地址
.遠程計算機上的例絡監(jiān)視器版本號
在一些情況下,網(wǎng)絡結(jié)構(gòu)會阻止網(wǎng)絡監(jiān)視器的一個安裝來檢側(cè)另一個安裝。例如,若一安裝與用戶安裝被路由器隔開,而此路由器不能向用戶轉(zhuǎn)送組播,則用戶安裝不能檢測到另一個安裝。
網(wǎng)絡監(jiān)視器應用網(wǎng)絡驅(qū)動器接口說明(NDIS)的特性,復制它所檢測的所有幀到它的捕獲緩沖區(qū),這是個內(nèi)存里可交大小的存儲區(qū),缺省大小為IMB:若需要,可手上調(diào)整其大小。緩沖區(qū)是一個存儲映射文件,它占用磁盤空間。
由于網(wǎng)絡監(jiān)視器僅使用NDIS的本地方式,而非隨機方式(網(wǎng)絡適配器以此在網(wǎng)上發(fā)送所有幀),故即使用戶的網(wǎng)絡適配器不支持隨機方式時也可使用網(wǎng)絡監(jiān)視器.當使用NDIS驅(qū)動器捕獲幀時。網(wǎng)絡性能不受影響(將網(wǎng)絡適配器置于隨機方式會使CPU增加30%或更多負荷)。
在以太網(wǎng)上通訊的每張網(wǎng)卡上都擁有一個全球唯一的物理地址,也叫MAC地址。該地址是一個48比特的二進制數(shù)。在以太網(wǎng)卡中內(nèi)建有一個數(shù)據(jù)包過濾器。該數(shù)據(jù)包過濾器的作用是保留以本身網(wǎng)卡的MAC地址為通訊目的的數(shù)據(jù)包和廣播數(shù)據(jù)包,丟棄所有其它無關(guān)的數(shù)據(jù)包,以免CPU對無關(guān)的數(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)通過直接訪問鏈路層,截獲相關(guān)數(shù)據(jù),由應用程序而非上層協(xié)議(如IP層、TCP層)對數(shù)據(jù)過濾處理,這樣就可以捕獲到流經(jīng)網(wǎng)卡的所有數(shù)據(jù)。
首先從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)卡設備驅(qū)動程序不會關(guān)心IP數(shù)據(jù)報中的目的IP地址,它所需要的僅僅是MAC地址。
實現(xiàn)網(wǎng)絡捕包的一個最重要的條件就是要能夠接收網(wǎng)絡上所有的數(shù)據(jù)包。計算機網(wǎng)絡從傳輸方式的角度分為兩類:采用點到點連接的網(wǎng)絡和采用廣播方式的網(wǎng)絡,廣域網(wǎng)中一般采用點到點連接方式,而幾乎所有的局域網(wǎng)都以廣播方式作為通信的基礎,網(wǎng)上的站點共享信道,一個站點發(fā)出的數(shù)據(jù)包,其他站點均能收到,也就是說,任一臺計算機都可以接收到網(wǎng)絡中同一個共享域的所有的數(shù)據(jù)通訊。
[1]王興寶.網(wǎng)絡管理與維護[M].北京:機械工業(yè)出版社.2001.
[2]劉遠生.網(wǎng)絡安全技術(shù)與應用實踐[M].北京:清華大學出版社.2010.
[3]劉曉輝,陳洪彬.網(wǎng)絡管理工具技術(shù)應用實戰(zhàn)詳解[M].北京:化學工業(yè)出版社.2010.