朱凱敏
摘要:隨著經(jīng)濟(jì)文化水平的顯著提高,人們對(duì)生活質(zhì)量以及工作環(huán)境的要求也越來越高。信息作為現(xiàn)代社會(huì)中賴以生存的精神食糧,越來越受到重視,大量的信息不斷涌現(xiàn)在社會(huì)的各個(gè)角落,無論是生活還是工作,信息作為一項(xiàng)重要的財(cái)富,使得有效的安全性成為一種必須。因此,由各種信息的安全問題也就順理成章的提上了日程。隨著網(wǎng)絡(luò)的飛速發(fā)展,信息安全逐漸成為一個(gè)潛在的巨大問題。信息安全性是一個(gè)涉及面很廣泛的問題。伴隨著各種信息被盜的問題,對(duì)安全性的需求也在急切的提高。數(shù)據(jù)包的監(jiān)聽與分析,可以為防火墻和殺毒軟件提供網(wǎng)絡(luò)信息的基本數(shù)據(jù)。
關(guān)鍵詞:局域網(wǎng);數(shù)據(jù)包;捕獲
網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)類課程教學(xué)中的重點(diǎn)和難點(diǎn),但由于網(wǎng)絡(luò)協(xié)議具有很強(qiáng)的抽象性且對(duì)上層用戶完全透明,傳統(tǒng)的教授方式或教材自學(xué)很難讓學(xué)習(xí)者深入理解協(xié)議的本質(zhì),達(dá)不到很好的學(xué)習(xí)效果。網(wǎng)絡(luò)協(xié)議分析技術(shù)通過獲取通信雙方傳送的數(shù)據(jù)包,文獻(xiàn)[7]分析包中的協(xié)議內(nèi)容及數(shù)據(jù)內(nèi)容,并將數(shù)據(jù)的二進(jìn)制流轉(zhuǎn)化為可讀性強(qiáng)的,易于理解的文本形式,讓用戶或管理員能及時(shí)進(jìn)行網(wǎng)絡(luò)診斷和故障排除,能夠滿足特定條件下專用網(wǎng)絡(luò)的需要。
一、系統(tǒng)分析
1、可行性技術(shù)分析。本協(xié)議發(fā)生器采用結(jié)構(gòu)化的開發(fā)方法,通過自頂向下的系統(tǒng)分析和自底向上的系統(tǒng)設(shè)計(jì)綜合考慮了該系統(tǒng)所涉及的每個(gè)方面。利用多線程的技術(shù),以C++為模板的功能實(shí)現(xiàn)語言,以MFC為系統(tǒng)GUI設(shè)計(jì)語言,以Windows系統(tǒng)為平臺(tái),采用TCP/IP協(xié)議,保證了數(shù)據(jù)傳輸?shù)目煽啃浴U麄€(gè)系統(tǒng)的開發(fā)與應(yīng)用對(duì)硬件要求不高,因此在技術(shù)上該協(xié)議發(fā)生器是可行的。
2、系統(tǒng)需求分析。用戶需求分析:用戶對(duì)本軟件提出如下的要求。
功能需求:主要功能數(shù)據(jù)包構(gòu)造,數(shù)據(jù)包發(fā)送,數(shù)據(jù)包捕獲和分析必須完全實(shí)現(xiàn),不能出現(xiàn)任何Bug。
性能需求:能保證軟件在捕獲到上千或上萬條數(shù)據(jù)包時(shí),軟件不會(huì)運(yùn)行失敗,出現(xiàn)異常,能正常解析捕獲的數(shù)據(jù)包,實(shí)時(shí)分析每條捕獲的數(shù)據(jù)包。
高效性:要采用健壯的語言C++,能提高系統(tǒng)的運(yùn)行效率和運(yùn)行速度。
擴(kuò)展性:應(yīng)該考慮到其擴(kuò)展性,能夠適用到未來新的應(yīng)用需求,將系統(tǒng)分模塊化,減少模塊與模塊間的通信,降低其耦合度。
簡潔性:界面人性化,操作便捷,使用簡單,方便。
二、系統(tǒng)設(shè)計(jì)
1、系統(tǒng)框架設(shè)計(jì)。該系統(tǒng)主要包括用戶界面管理模塊,業(yè)務(wù)處理模塊,數(shù)據(jù)包的發(fā)送模塊,數(shù)據(jù)包的捕獲模塊,協(xié)議解析模塊,存儲(chǔ)模塊等六大模塊。
下面對(duì)各組成模塊做如下簡要說明:
(1)用戶界面管理模塊。該模塊的主要功能是將業(yè)務(wù)層的業(yè)務(wù)流程通過前端代碼連接成用戶層面的業(yè)務(wù)流程。
(2)業(yè)務(wù)處理模塊。該模塊的主要功能是以業(yè)務(wù)邊界為限制,進(jìn)行業(yè)務(wù)類的封裝。
(3)數(shù)據(jù)包的發(fā)送模塊。該模塊的主要功能是利用用戶界面管理模塊對(duì)各種協(xié)議的數(shù)據(jù)包進(jìn)行構(gòu)造,構(gòu)造完成后就可以進(jìn)行數(shù)據(jù)包的發(fā)送了。
(4)數(shù)據(jù)包的捕獲模塊。該模塊的主要功能是可以捕獲到經(jīng)過網(wǎng)卡的數(shù)據(jù)包。
(5)協(xié)議解析模塊。該模塊的主要功能是對(duì)捕獲的數(shù)據(jù)包進(jìn)行解析。
2、系統(tǒng)的功能關(guān)系圖。
(1)協(xié)議構(gòu)造管理模塊:
本軟件系統(tǒng)要求用戶可以發(fā)送自己構(gòu)造的不同協(xié)議的數(shù)據(jù)包,用戶可以設(shè)置要發(fā)送的數(shù)據(jù)包各層協(xié)議首部的內(nèi)容。
(2)數(shù)據(jù)包發(fā)送模塊:用戶可以自己設(shè)置要發(fā)送的數(shù)據(jù)包各層協(xié)議首部的內(nèi)容,同時(shí)可以自己設(shè)置合法的源地址以及目的地址進(jìn)行數(shù)據(jù)包的發(fā)送,通過某種判斷機(jī)制辨別所構(gòu)造的數(shù)據(jù)包是否合法。如果合法,則將用戶自己構(gòu)造的數(shù)據(jù)包,由用戶指定的源地址發(fā)往用戶指定的目的地址,計(jì)算數(shù)據(jù)包的校驗(yàn)和,通過設(shè)置發(fā)送策略實(shí)現(xiàn)數(shù)據(jù)包的發(fā)送功能。
(3)數(shù)據(jù)包捕獲模塊:選擇活動(dòng)網(wǎng)卡,點(diǎn)擊開始捕獲按鈕,就可以捕獲經(jīng)過該活動(dòng)網(wǎng)卡的數(shù)據(jù)包,我們通過設(shè)置過濾規(guī)則,選擇不同類型的數(shù)據(jù)包,點(diǎn)擊結(jié)束按鈕,停止捕獲數(shù)據(jù)包。
(4)數(shù)據(jù)包分析模塊:捕獲經(jīng)過活動(dòng)網(wǎng)卡的數(shù)據(jù)包,然后對(duì)數(shù)據(jù)包進(jìn)行逐層分析,最后按照一定的格式直觀的顯示協(xié)議分析結(jié)果,分析的過程形成了一個(gè)協(xié)議分析層次樹。
三、系統(tǒng)實(shí)現(xiàn)
1、系統(tǒng)的整體運(yùn)行效果。
(1)系統(tǒng)主界面
(2)網(wǎng)卡綁定
在捕獲數(shù)據(jù)包之前,首先要先綁定網(wǎng)卡,打開網(wǎng)卡其操作流程如下:點(diǎn)擊下拉菜單就可以選擇一個(gè)網(wǎng)卡,然后選擇打開網(wǎng)卡按鈕,就可以綁定一個(gè)網(wǎng)卡。
(3)對(duì)截獲的數(shù)據(jù)包進(jìn)行分析
通過對(duì)數(shù)據(jù)包的分析,我們可以判斷通信雙方的操作系統(tǒng)、網(wǎng)絡(luò)信息流量、經(jīng)過的路由、數(shù)據(jù)包的大小,以及數(shù)據(jù)包的內(nèi)容等等。多數(shù)信息被盜一般都是通過分析數(shù)據(jù)包被盜的,通過掌握分析數(shù)據(jù)包的技術(shù)我們可以了解數(shù)據(jù)被盜的原理與技術(shù),以及時(shí)的防盜。
四、結(jié)語
隨著網(wǎng)絡(luò)應(yīng)用的不斷普及和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,新的協(xié)議層出不窮,為了讓學(xué)生更好的了解各種協(xié)議的組成部分深入研究TCP/IP協(xié)議棧,我們提供了這個(gè)網(wǎng)絡(luò)協(xié)議發(fā)生器,通過捕獲的數(shù)據(jù)包根據(jù)協(xié)議分析樹對(duì)數(shù)據(jù)包進(jìn)行分析,為我們后續(xù)進(jìn)行網(wǎng)絡(luò)安全檢測提供了有利的條件。
參考文獻(xiàn)
[1] 孫悅敏.網(wǎng)絡(luò)協(xié)議分析方法的研究.中國學(xué)位論文全文數(shù)據(jù)庫.2011.1.
[2] 吳建平.基于Linux的雙協(xié)議分析軟件設(shè)計(jì)與實(shí)現(xiàn).軟件導(dǎo)刊.20098.
[3] 王麗萍.基于Ethereal開源代碼構(gòu)建協(xié)議解析器的方法研究.計(jì)算機(jī)技術(shù)與發(fā)展.200710.
[4] 李學(xué)瑩.基于Winpcap的網(wǎng)絡(luò)監(jiān)控系統(tǒng)性能優(yōu)化[J]。計(jì)算機(jī)工程,2004(1):9-11.
[5] 高慶鋒.基于TCP/IP協(xié)議網(wǎng)絡(luò)數(shù)據(jù)報(bào)的截獲并篡改的研究及實(shí)現(xiàn)[J].計(jì)算機(jī)安全,2007(4):26-30.
[6] 王龍.網(wǎng)絡(luò)協(xié)議分析工具的設(shè)計(jì)與實(shí)現(xiàn). 中國學(xué)位論文全文數(shù)據(jù)庫.2011.1.
[7] 黃俊杰.基于Linux的網(wǎng)絡(luò)協(xié)議學(xué)習(xí)系統(tǒng).中國學(xué)位論文全文數(shù)據(jù)庫.2009.11.