專利名稱:一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用捕獲數(shù)據(jù)解析協(xié)議的方法,用于高校通信及相關(guān)專業(yè)所開發(fā)的教學(xué)實(shí)驗(yàn)系統(tǒng),屬于軟交換技術(shù)教學(xué)領(lǐng)域。
背景技術(shù):
軟交換教學(xué)領(lǐng)域?qū)浗粨Q人才的培養(yǎng)產(chǎn)品大多來自移動(dòng)設(shè)備廠商或者電信設(shè)備制造商,產(chǎn)品價(jià)格極為昂貴,面對體系龐大的設(shè)備,學(xué)生更多的時(shí)候是參觀或者進(jìn)行簡單的設(shè)置。另外還有一種實(shí)驗(yàn)方式是通過實(shí)驗(yàn)箱的方式,其組網(wǎng)方式已經(jīng)固定,不能根據(jù)實(shí)際需求,靈活搭建實(shí)驗(yàn)環(huán)境,更不用說向3G或IMS進(jìn)行擴(kuò)展了,并且其內(nèi)部控制原理也很難讓學(xué)生理解。但對比來看存在以下幾方面問題(1)沒有針對軟交換教學(xué)領(lǐng)域,形成完整的實(shí)驗(yàn)教學(xué)體系;(2)操作界面抽象,削弱了使用者的積極性;(3)操作形式復(fù)雜,增加了使用者的操作難度;(4)操作結(jié)果不直觀清晰,導(dǎo)致使用效果不理想;針對現(xiàn)在高校通信專業(yè)實(shí)驗(yàn)教學(xué)中所使用的軟交換教學(xué)普遍存在的問題,本發(fā)明給出了一種利用捕獲數(shù)據(jù)解析協(xié)議的方法。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,實(shí)現(xiàn)的系統(tǒng)能夠跟蹤信令數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)中的傳輸過程,學(xué)生可方便靈活地利用信令傳輸過程,通過圖形化直觀的學(xué)習(xí)信令流程,通過解析協(xié)議數(shù)據(jù)直觀的學(xué)習(xí)數(shù)據(jù)包格式,進(jìn)行軟交換技術(shù)實(shí)驗(yàn)操作。一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,至少包括以下步驟步驟1:開始捕獲數(shù)據(jù);步驟2 自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng);步驟3:捕獲二進(jìn)制數(shù)據(jù);步驟4:解析協(xié)議數(shù)據(jù);步驟5 圖形化顯示數(shù)據(jù)包內(nèi)容;步驟6 是否停止捕獲?步驟7 若不停止捕獲,則重新捕獲二進(jìn)制數(shù)據(jù),返回到步驟3 ;步驟8 若停止捕獲,則停止捕獲數(shù)據(jù)驅(qū)動(dòng);步驟9:停止捕獲。所述步驟2中的自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng)的方法至少包括以下步驟步驟1)網(wǎng)絡(luò)數(shù)據(jù)到達(dá)主機(jī)網(wǎng)卡;步驟2)到達(dá)網(wǎng)卡驅(qū)動(dòng)程序;步驟3)數(shù)據(jù)到達(dá)NDIS層;
步驟4):捕獲驅(qū)動(dòng)從網(wǎng)卡驅(qū)動(dòng)NDIS層復(fù)制網(wǎng)絡(luò)數(shù)據(jù)。所述的網(wǎng)卡驅(qū)動(dòng)程序,是網(wǎng)卡與上層驅(qū)動(dòng)程序通信的接口,它負(fù)責(zé)接收來自上層的數(shù)據(jù)包,或?qū)?shù)據(jù)包發(fā)送到上層相應(yīng)的驅(qū)動(dòng)程序,同時(shí)它還完成處理中斷等工作。所述的NDIS,是網(wǎng)絡(luò)驅(qū)動(dòng)稈序接口規(guī)范的簡稱,它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與程序之間的通信接口規(guī)范,屏蔽了底層物理M勝的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡通信。所述步驟4中的解析協(xié)議數(shù)據(jù)的方法至少包括以下步驟步驟1)捕獲二進(jìn)制數(shù)據(jù);步驟2、從二進(jìn)制數(shù)據(jù)中解析以太網(wǎng)層數(shù)據(jù);步驟3):從以太網(wǎng)數(shù)據(jù)中解析IP層數(shù)據(jù);步驟4)判斷IP層數(shù)據(jù)包是TCP/UDP數(shù)據(jù)包? 步驟幻若IP層數(shù)據(jù)包是TCP數(shù)據(jù)包,SIP/DNS協(xié)議都是UDP數(shù)據(jù)包,所以TCP數(shù)據(jù)包丟棄,捕獲二進(jìn)制數(shù)據(jù),返回步驟1);步驟6)若IP層數(shù)據(jù)包是UDP數(shù)據(jù)包,分析UDP數(shù)據(jù)包協(xié)議類型;步驟7)若UDP數(shù)據(jù)包協(xié)議類型為DNS協(xié)議,則按照DNS協(xié)議數(shù)據(jù)格式解析DNS協(xié)議數(shù)據(jù);步驟8)在軟件界面圖形化顯示DNS協(xié)議數(shù)據(jù),捕獲二進(jìn)制數(shù)據(jù),返回步驟1);步驟9)若UDP數(shù)據(jù)包協(xié)議類型為SIP協(xié)議,則按照SIP協(xié)議數(shù)據(jù)格式解析SIP協(xié)議數(shù)據(jù);步驟10)在軟件界面圖形化顯示SIP協(xié)議數(shù)據(jù),捕獲二進(jìn)制數(shù)據(jù),返回步驟1);步驟11)若UDP數(shù)據(jù)包協(xié)議類型為其他類型,則不是所需要的數(shù)據(jù)包類型,丟棄數(shù)據(jù)包,捕獲二進(jìn)制數(shù)據(jù),返回步驟1);所述步驟5中的圖形化顯示數(shù)據(jù)包內(nèi)容,具體分為概要解碼區(qū)、會(huì)話分析區(qū)、詳細(xì)解碼區(qū)、原始數(shù)據(jù)區(qū),在概要解碼區(qū)中顯示源地址、目的地址、概要、幀長度及時(shí)間。本方法發(fā)明的有益效果是捕獲協(xié)議的方法能夠跟蹤信令數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)中的傳輸過程,學(xué)生可方便靈活地利用信令傳輸過程,通過圖形化直觀的學(xué)習(xí)信令流程,通過解析協(xié)議數(shù)據(jù)直觀的學(xué)習(xí)數(shù)據(jù)包格式,進(jìn)行軟交換技術(shù)實(shí)驗(yàn)操作。既能輔助老師教學(xué)又能激發(fā)學(xué)生興趣;既能鞏固學(xué)生的理論基礎(chǔ)知識(shí),又能增強(qiáng)學(xué)生對協(xié)議的理解。
圖1為本發(fā)明計(jì)算機(jī)程序?qū)崿F(xiàn)總流程圖;圖2為本發(fā)明自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng)的實(shí)現(xiàn)流程圖;圖3為本發(fā)明解析協(xié)議數(shù)據(jù)的實(shí)現(xiàn)流程圖;圖4為本方法發(fā)明的信令跟蹤系統(tǒng)實(shí)驗(yàn)示例具體實(shí)施例方式打開信令跟蹤系統(tǒng)軟件,點(diǎn)擊開始捕獲數(shù)據(jù)按鈕,程序首先會(huì)運(yùn)行捕獲數(shù)據(jù)驅(qū)動(dòng)程序,這時(shí)在有網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過主機(jī)網(wǎng)卡的時(shí)候,網(wǎng)絡(luò)數(shù)據(jù)會(huì)首先到達(dá)網(wǎng)卡驅(qū)動(dòng)程序,網(wǎng)卡驅(qū)動(dòng)程序是網(wǎng)卡與上層驅(qū)動(dòng)程序通信的接口,負(fù)責(zé)接收來自上層的數(shù)據(jù)包,或?qū)?shù)據(jù)包發(fā)送到上層相應(yīng)的驅(qū)動(dòng),同時(shí)它還能夠處理中斷等工作。網(wǎng)絡(luò)數(shù)據(jù)在經(jīng)過網(wǎng)卡驅(qū)動(dòng)程序時(shí),驅(qū)動(dòng)程序會(huì)自動(dòng)將網(wǎng)絡(luò)數(shù)據(jù)送到NDIS層。NDIS層是網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范的英文簡稱。它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,它定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層的任何型號(hào)網(wǎng)卡通信。在網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過NDIS層時(shí),捕獲數(shù)據(jù)驅(qū)動(dòng)會(huì)從網(wǎng)卡驅(qū)動(dòng)的NDIS層復(fù)制出所有經(jīng)過網(wǎng)卡的網(wǎng)絡(luò)數(shù)據(jù)到信令跟蹤系統(tǒng)的協(xié)議捕獲程序中,協(xié)議捕獲程序在收到網(wǎng)絡(luò)數(shù)據(jù)后會(huì)將所有網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)給信令跟蹤系統(tǒng)的協(xié)議解析程序,協(xié)議解析程序在接收到網(wǎng)絡(luò)數(shù)據(jù)時(shí),會(huì)對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析,首先從網(wǎng)卡數(shù)據(jù)中解析出以太網(wǎng)層數(shù)據(jù),然后從以太網(wǎng)層數(shù)據(jù)中解析出IP層數(shù)據(jù)。對IP層的數(shù)據(jù)包進(jìn)行分析與判斷,如果數(shù)據(jù)包是TCP協(xié)議封裝的數(shù)據(jù)包,就把數(shù)據(jù)包丟棄,重新判斷下一個(gè)數(shù)據(jù)包;如果數(shù)據(jù)包是UDP協(xié)議封裝的數(shù)據(jù)包, 就對UDP數(shù)據(jù)包進(jìn)行進(jìn)一步分析。分析出UDP數(shù)據(jù)包中封裝的數(shù)據(jù)協(xié)議類型是是否為DNS 協(xié)議或SIP協(xié)議。如果不是DNS協(xié)議或SIP協(xié)議的數(shù)據(jù),就丟棄數(shù)據(jù)包,重新下一個(gè)數(shù)據(jù)包協(xié)議類型;如果是DNS協(xié)議或SIP協(xié)議的數(shù)據(jù),就會(huì)對數(shù)據(jù)進(jìn)行進(jìn)一步的分析。如果是DNS 協(xié)議的數(shù)據(jù),信令跟蹤系統(tǒng)會(huì)根據(jù)國際標(biāo)準(zhǔn)的DNS協(xié)議數(shù)據(jù)格式對數(shù)據(jù)的每個(gè)字段進(jìn)行解析,然后把解析好的數(shù)據(jù)分別顯示在概要解碼區(qū)、會(huì)話分析區(qū)、詳細(xì)解碼區(qū)和原始數(shù)據(jù)區(qū)。 如果是SIP協(xié)議的數(shù)據(jù),信令跟蹤系統(tǒng)會(huì)根據(jù)國際標(biāo)準(zhǔn)的SIP協(xié)議數(shù)據(jù)格式對數(shù)據(jù)的每個(gè)字段進(jìn)行解析,然后把解析好的數(shù)據(jù)分別顯示在概要解碼區(qū)、會(huì)話分析區(qū)、詳細(xì)解碼區(qū)和原始數(shù)據(jù)區(qū)。這個(gè)顯示的過程有兩種方式,一種是自動(dòng)顯示,就是捕獲到數(shù)據(jù)立即在界面中顯示出來。一種是手動(dòng)顯示,這種方式,在捕獲到數(shù)據(jù)后,會(huì)把數(shù)據(jù)都保存在緩沖區(qū)中,在用戶點(diǎn)擊刷新按鈕的時(shí)候會(huì)在信令跟蹤系統(tǒng)的界面中顯示出來,這樣做的好處是,方便學(xué)生觀察數(shù)據(jù)包,在需要查看新的數(shù)據(jù)時(shí),只需要點(diǎn)擊刷新按鈕即可。在界面中顯示完成一個(gè)數(shù)據(jù)包之后程序會(huì)判斷用戶是否已經(jīng)停止捕獲數(shù)據(jù)包。如果沒有停止,就回到捕獲數(shù)據(jù)的位置繼續(xù)捕獲數(shù)據(jù)。如果用戶已經(jīng)停止捕獲數(shù)據(jù),信令跟蹤系統(tǒng)會(huì)首先停止捕獲驅(qū)動(dòng)程序,捕獲驅(qū)動(dòng)停止后,信令跟蹤系統(tǒng)停止捕獲。 如圖4所示,點(diǎn)擊工具欄中的開始按鈕,這時(shí)信令跟蹤系統(tǒng)開始自動(dòng)捕獲網(wǎng)絡(luò)中的數(shù)據(jù),當(dāng)想要查看捕獲到的SIP協(xié)議數(shù)據(jù)或DNS協(xié)議數(shù)據(jù)時(shí),點(diǎn)擊工具欄中的刷新按鈕, 在軟件界面中就會(huì)以圖形化的方式顯示出來。點(diǎn)擊工具欄中的停止按鈕,信令跟蹤系統(tǒng)停止捕獲數(shù)據(jù)。
權(quán)利要求
1.一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,至少包括以下步驟 步驟1 開始捕獲數(shù)據(jù);步驟2 自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng); 步驟3 捕獲二進(jìn)制數(shù)據(jù); 步驟4 解析協(xié)議數(shù)據(jù); 步驟5 圖形化顯示數(shù)據(jù)包內(nèi)容; 步驟6:是否停止捕獲?步驟7 若不停止捕獲,則重新捕獲二進(jìn)制數(shù)據(jù),返回到步驟3 ; 步驟8 若停止捕獲,則停止捕獲數(shù)據(jù)驅(qū)動(dòng); 步驟9:停止捕獲。
2.根據(jù)權(quán)利要求1所述的一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,其特征在于所述步驟2中的自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng)的方法至少包括以下步驟步驟1)網(wǎng)絡(luò)數(shù)據(jù)到達(dá)主機(jī)網(wǎng)卡; 步驟幻到達(dá)網(wǎng)卡驅(qū)動(dòng)程序; 步驟3)數(shù)據(jù)到達(dá)NDIS層;步驟4):捕獲驅(qū)動(dòng)從網(wǎng)卡驅(qū)動(dòng)NDIS層復(fù)制網(wǎng)絡(luò)數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,其特征在于所述的網(wǎng)卡驅(qū)動(dòng)程序,是網(wǎng)卡與上層驅(qū)動(dòng)程序通信的接口,它負(fù)責(zé)接收來自上層的數(shù)據(jù)包,或?qū)?shù)據(jù)包發(fā)送到上層相應(yīng)的驅(qū)動(dòng)程序,同時(shí)它還完成處理中斷等工作。
4.根據(jù)權(quán)利要求2所述的一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,其特征在于所述的 NDIS,是網(wǎng)絡(luò)驅(qū)動(dòng)稈序接口規(guī)范的簡稱,它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)稈序與上層協(xié)議驅(qū)動(dòng)稈序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同, 使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡通信。
5.根據(jù)權(quán)利要求1所述的一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,其特征在于所述步驟4中的解析協(xié)議數(shù)據(jù)的方法至少包括以下步驟步驟1)捕獲二進(jìn)制數(shù)據(jù); 步驟幻從二進(jìn)制數(shù)據(jù)中解析以太網(wǎng)層數(shù)據(jù); 步驟幻從以太網(wǎng)數(shù)據(jù)中解析IP層數(shù)據(jù); 步驟4)判斷IP層數(shù)據(jù)包是TCP/UDP數(shù)據(jù)包?步驟幻若IP層數(shù)據(jù)包是TCP數(shù)據(jù)包,SIP/DNS協(xié)議都是UDP數(shù)據(jù)包,所以TCP數(shù)據(jù)包丟棄,捕獲二進(jìn)制數(shù)據(jù),返回步驟1);步驟6)若IP層數(shù)據(jù)包是UDP數(shù)據(jù)包,分析UDP數(shù)據(jù)包協(xié)議類型; 步驟7)若UDP數(shù)據(jù)包協(xié)議類型為DNS協(xié)議,則按照DNS協(xié)議數(shù)據(jù)格式解析DNS協(xié)議數(shù)據(jù);步驟8)在軟件界面圖形化顯示DNS協(xié)議數(shù)據(jù),捕獲二進(jìn)制數(shù)據(jù),返回步驟1); 步驟9)若UDP數(shù)據(jù)包協(xié)議類型為SIP協(xié)議,則按照SIP協(xié)議數(shù)據(jù)格式解析SIP協(xié)議數(shù)據(jù);步驟10)在軟件界面圖形化顯示SIP協(xié)議數(shù)據(jù),捕獲二進(jìn)制數(shù)據(jù),返回步驟1); 步驟11)若UDP數(shù)據(jù)包協(xié)議類型為其他類型,則不是所需要的數(shù)據(jù)包類型,丟棄數(shù)據(jù)包,捕獲二進(jìn)制數(shù)據(jù),返回步驟1);
6.根據(jù)權(quán)利要求1所述的一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,其特征在于所述步驟5中的圖形化顯示數(shù)據(jù)包內(nèi)容,具體分為概要解碼區(qū)、會(huì)話分析區(qū)、詳細(xì)解碼區(qū)、原始數(shù)據(jù)區(qū),在概要解碼區(qū)中顯示源地址、目的地址、概要、幀長度及時(shí)間。
全文摘要
本發(fā)明涉及一種利用捕獲數(shù)據(jù)解析協(xié)議的方法,用于高校通信及相關(guān)專業(yè)所開發(fā)的教學(xué)實(shí)驗(yàn)系統(tǒng),屬于軟交換技術(shù)教學(xué)領(lǐng)域。一種利用捕獲數(shù)據(jù)來解析協(xié)議的方法,包括開始捕獲數(shù)據(jù),自動(dòng)捕獲數(shù)據(jù)驅(qū)動(dòng),捕獲二進(jìn)制數(shù)據(jù),解析協(xié)議數(shù)據(jù),然后圖形化顯示數(shù)據(jù)包內(nèi)容,是否停止捕獲,若不停止捕獲捕獲,則重新捕獲二進(jìn)制數(shù)據(jù);若停止捕獲,停止捕獲驅(qū)動(dòng),停止捕獲。通過這種方法實(shí)現(xiàn)的系統(tǒng)能夠跟蹤信令數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)中的傳輸過程,學(xué)生可方便靈活地利用信令傳輸過程,通過圖形化直觀的學(xué)習(xí)信令流程,通過解析協(xié)議數(shù)據(jù)直觀的學(xué)習(xí)數(shù)據(jù)包格式,進(jìn)行軟交換技術(shù)實(shí)驗(yàn)操作。既能輔助老師教學(xué)又能激發(fā)學(xué)生興趣;既能鞏固學(xué)生的理論知識(shí),又能增強(qiáng)學(xué)生對協(xié)議的理解。
文檔編號(hào)H04L29/06GK102244610SQ201110171748
公開日2011年11月16日 申請日期2011年6月24日 優(yōu)先權(quán)日2011年6月24日
發(fā)明者尚中飛, 張洪海, 柯明明, 王春蘇, 王陳章, 蔣一川 申請人:吉林中軟吉大信息技術(shù)有限公司