趙寧
【摘要】 隨著經(jīng)濟(jì)與科技的不斷進(jìn)步與迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用越來越廣泛,隨之而來的安全問題不斷涌現(xiàn),數(shù)據(jù)包捕獲是網(wǎng)絡(luò)安全的重要措施,文章講述了數(shù)據(jù)包捕獲的機(jī)制與特點(diǎn),對SIP協(xié)議及其結(jié)構(gòu)特點(diǎn)做了簡要的概述,并對SIP通信的數(shù)據(jù)包捕獲技術(shù)做了一系列研究,設(shè)計(jì)了數(shù)據(jù)包的捕獲及其還原步驟。
【關(guān)鍵字】 數(shù)據(jù)包 捕獲SIP 安全
一、數(shù)據(jù)包捕獲
1.1數(shù)據(jù)包捕獲的機(jī)制
數(shù)據(jù)包捕獲就是對數(shù)據(jù)包的完整收集,系統(tǒng)搜集某一網(wǎng)絡(luò)設(shè)備所接收的數(shù)據(jù)包,不論此數(shù)據(jù)包發(fā)送至哪個(gè)端口或地址。收集數(shù)據(jù)包以后,再進(jìn)行還原以及審計(jì)等處理,發(fā)送到上一層進(jìn)而對其實(shí)行應(yīng)用處理??梢酝ㄟ^專用的數(shù)據(jù)采集卡對網(wǎng)絡(luò)實(shí)行相應(yīng)采集,也可根據(jù)以太網(wǎng)卡的混雜模式通過其廣播特性或者交換機(jī)監(jiān)測口對數(shù)據(jù)報(bào)文進(jìn)行監(jiān)聽。
數(shù)據(jù)包的捕獲通常有3個(gè)階段:首先,設(shè)置網(wǎng)卡為“混雜”的工作模式;其次,捕獲鏈路層的數(shù)據(jù)幀;最后,提取數(shù)據(jù)包的首部,便于分析和處理。
1.2數(shù)據(jù)包捕獲的意義
網(wǎng)絡(luò)不僅僅為人們帶來越來越多的方便與快捷,也給人們帶來諸如網(wǎng)絡(luò)病毒、機(jī)密泄漏、黑客入侵等安全問題,信息安全成為我們關(guān)注的一大焦點(diǎn)。數(shù)據(jù)包捕獲是信息保護(hù)的一種重要方法,因此對其技術(shù)的研究有著重要意義。
1.3特點(diǎn)
數(shù)據(jù)包捕獲是關(guān)乎網(wǎng)絡(luò)與財(cái)產(chǎn)安全的一項(xiàng)重要措施,該技術(shù)有較高的要求,因此有以下特點(diǎn):1. 響應(yīng)快。對于許多安全應(yīng)用,在數(shù)據(jù)報(bào)文上需要很快的響應(yīng)速度,以便于迅速捕獲以及即時(shí)反應(yīng),同時(shí)不允許誤判或丟包。2. 適應(yīng)能力強(qiáng)。數(shù)據(jù)包捕獲針對流經(jīng)此網(wǎng)絡(luò)的所有數(shù)據(jù)報(bào)文,其類型和源目的地址都不統(tǒng)一,即數(shù)據(jù)包的種類繁多且來源復(fù)雜,因此該技術(shù)對各種數(shù)據(jù)包應(yīng)有較強(qiáng)的適應(yīng)能力。3. 直接由上層處理。數(shù)據(jù)包的處理能夠不經(jīng)操作系統(tǒng)協(xié)議棧,直接通過上一層的應(yīng)用實(shí)行處理。4. 不需嚴(yán)格校驗(yàn)。大部分?jǐn)?shù)據(jù)報(bào)的處理是通過應(yīng)用程序操作的,在該應(yīng)用中能夠?qū)嵭胁糠中r?yàn);數(shù)據(jù)報(bào)在某些網(wǎng)卡中的硬件芯片上進(jìn)行了固化的校驗(yàn),因此在捕獲過程中可以略去一些嚴(yán)格校驗(yàn)。
二、SIP通信
2.1 SIP協(xié)議所支持的功能
SIP作為信令協(xié)議,可提供多媒體通信的5項(xiàng)功能。
2.2 SIP網(wǎng)絡(luò)系統(tǒng)
SIP協(xié)議的網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)包括用戶代理(UA)和網(wǎng)絡(luò)服務(wù)器(NS)。應(yīng)用代理是SIP的終端,用于和用戶之間的交互,可發(fā)送呼叫請求和響應(yīng)呼叫請求。
網(wǎng)絡(luò)服務(wù)器主要解析地址以及定位用戶,分為3種:代理服務(wù)器,用于路由選擇,將用戶請求及響應(yīng)發(fā)送至下一跳;重定向服務(wù)器,用于地址解析,類似于DNS,把目的地址映射成為0個(gè)或者多個(gè)新地址;注冊服務(wù)器,接收來自終端的注冊請求,并記錄其地址。因此,基于SIP協(xié)議,有直接呼叫、代理服務(wù)以及重定向服務(wù)等3種通信方式。
2.3 SIP協(xié)議的特點(diǎn)
SIP協(xié)議參照了其它的Internet標(biāo)準(zhǔn),有其簡練、兼容以及可擴(kuò)展的作風(fēng)。SIP協(xié)議是基于文本,其詞法、語法都較為簡單;SIP在會(huì)話請求時(shí),同時(shí)實(shí)行媒體協(xié)商,因此建立呼叫所需時(shí)間大大縮短;SIP只要對頭域做簡單地?cái)U(kuò)展便可進(jìn)行補(bǔ)充、智能等業(yè)務(wù);SIP協(xié)議能夠分布式多播。
三、SIP通信數(shù)據(jù)包捕獲
數(shù)據(jù)包的捕獲系統(tǒng)包含硬件與軟件,硬件主要是對數(shù)據(jù)包進(jìn)行捕獲以及過濾,軟件主要對數(shù)據(jù)包進(jìn)行分析與處理。因此捕獲系統(tǒng)需滿足實(shí)時(shí)、靈活、擴(kuò)展方便和數(shù)據(jù)包無遺漏等性能。
3.1 SIP通信捕獲思想
SIP通信捕獲包含通信消息及其媒體數(shù)據(jù)2個(gè)部分的捕獲。通信消息的捕獲能夠獲得呼叫方和被呼叫方的通信狀態(tài)——通信步驟與通信狀態(tài),通信媒體參數(shù)的信息;依據(jù)通信的狀態(tài)判斷獲取數(shù)據(jù)的開始或停止,依據(jù)參數(shù)信息篩選及還原雙方數(shù)據(jù)。
1. 捕獲流程
一個(gè)完整SIP通信應(yīng)包含的消息有INVITE,180Ringing,200OK,ACK,BYE,200OK等,雙方的媒體參數(shù)信息能夠在INVITE及其響應(yīng)的200OK獲得,由此可設(shè)計(jì)以下捕獲流程:INVITE消息獲取,從SDP的o字段獲取源IP地址,并將該SDP部分的媒體參數(shù)作為邀請端(A)的媒體信息;從INVITE的起始行獲得被邀請端(B)的IP地址。等待180Ringing,若B至A的180Ringing消息得以捕獲,系統(tǒng)會(huì)將該信息顯現(xiàn)出。等待200OK響應(yīng)消息的捕獲,若判斷為B到A的INVITE響應(yīng),將該SDP的通信媒體信息獲取并作為B的媒體信息。等待A至B的ACK消息的捕獲。ACK不經(jīng)過代理、重定向服務(wù)器,而是直接通過雙方接收、發(fā)送,因此能夠通過ACK的源地址和目的地址判斷會(huì)話雙方是即將通信雙方與否。根據(jù)ACK確定雙方IP地址,捕獲雙向數(shù)據(jù),同時(shí)篩選、還原雙方通信媒體信息。BYE消息捕獲,一方發(fā)送至另一方時(shí)便停止捕獲。200OK響應(yīng)消息捕獲,判斷為BYE的響應(yīng)消息時(shí)終止通信。
2. 捕獲改進(jìn)
上述流程是必備的,因SIP的復(fù)雜性,數(shù)據(jù)包捕獲可能出現(xiàn)亂序,所以需做改進(jìn):
SIP通信除了上述消息外,還有其他請求、響應(yīng)消息,某會(huì)話的其他SIP消息,可選用的處理方式為收到便顯示。
因網(wǎng)絡(luò)上的數(shù)據(jù)有著龐大的傳輸量,需要建立合理、有效的篩選機(jī)制,可依據(jù)IP地址對雙方信令、數(shù)據(jù)進(jìn)行篩選。
因數(shù)據(jù)在網(wǎng)絡(luò)上傳輸不穩(wěn)定,捕獲完整SIP通信較為困難,所以可將捕獲流程縮減為4步:處理INVITE消息;處理對INVITE響應(yīng)的200OK消息;依據(jù)媒體參數(shù)信息,對數(shù)據(jù)捕獲、還原與確認(rèn);依據(jù)BYE或?qū)YE響應(yīng)200OK消息終止。
3.2媒體數(shù)據(jù)還原
SIP通信通過RTP數(shù)據(jù)包進(jìn)行媒體數(shù)據(jù)傳輸,還原方案是基于RTP協(xié)議展開的。對實(shí)時(shí)通信與離線數(shù)據(jù)設(shè)計(jì)以下兩種不同方案:
1. 實(shí)時(shí)通信的還原。根據(jù)請求消息進(jìn)行分析,獲得媒體的源地址、目的地址和載荷、端口等信息,然后經(jīng)過濾器對數(shù)據(jù)實(shí)行捕捉。具體步驟如圖1所示。將通信信令捕獲,同時(shí)對相關(guān)數(shù)據(jù)流的信息進(jìn)行記錄;依據(jù)發(fā)送、接收雙方的通信信令對RTP數(shù)據(jù)包進(jìn)行捕獲;判斷捕獲是否結(jié)束,可根據(jù)SIP通信中BYE或?qū)YE響應(yīng)的200OK確認(rèn)停止;重組RTP數(shù)據(jù),同時(shí)解壓縮以獲取原始數(shù)據(jù)。
2. 離線數(shù)據(jù)的還原。首先儲(chǔ)存捕獲到的所有數(shù)據(jù)包,進(jìn)而還原數(shù)據(jù)流,再通過流信息獲取媒體的參數(shù)信息,后通過此信息將原始數(shù)據(jù)還原。具體流程如圖2所示。打開網(wǎng)卡,將IP數(shù)據(jù)包完整捕獲并儲(chǔ)存;依據(jù)RTP流判別的原則,在上述所儲(chǔ)存的數(shù)據(jù)中將所有的RTP流信息提取出來;根據(jù)RTP包中Sequence Number字段,重組并還原RTP數(shù)據(jù);依照雙方IP地址獲得通信消息,并得知其編碼信息,若流的信令不全,可以用RTP默認(rèn)類型的方式進(jìn)行處理;最后解壓縮獲取原始的數(shù)據(jù)。
四、總結(jié)與展望
數(shù)據(jù)包捕獲是對數(shù)據(jù)包的完整收集,SIP是不斷完善且應(yīng)用廣泛的信令協(xié)議,SIP通信的數(shù)據(jù)包捕獲是雙方通信信息的獲取,基于SIP協(xié)議做了數(shù)據(jù)包捕獲及還原的流程設(shè)計(jì),在今后的工作中,應(yīng)不斷改進(jìn)與完善此機(jī)制,使捕獲能夠更加清晰、有條理。
參 考 文 獻(xiàn)
[1] 鐘誠, 等. SIP通信數(shù)據(jù)包捕獲與分析[J]. 電腦知識與技術(shù), 2010, 6(34): 9739-9740, 9743
[2] 林洪周. 萬兆網(wǎng)絡(luò)數(shù)據(jù)包捕獲系統(tǒng)的研究與開發(fā)[D]. 武漢: 華中科技大學(xué), 2008: 1-56