基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)

基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)

ID:874288

大?。?91.03 KB

頁數(shù):25頁

時(shí)間:2017-09-22

基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)_第5頁
資源描述:

《基于winpcap的嗅探器設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、計(jì)算機(jī)與信息學(xué)院《計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)實(shí)踐》報(bào)告設(shè)計(jì)題目:嗅探器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:***學(xué)號:2010****專業(yè)班級:信息安全****2013年9月25一、設(shè)計(jì)要求1.不限平臺,可以使用Libpcap、WinPcap或Linux的原始套接字;2.實(shí)現(xiàn)一個(gè)功能比較簡單的、具有圖形界面的Sniffer,主線程響應(yīng)用戶界面操作,工作線程完成抓包等工作;3.能夠解析出IP層和傳輸層的協(xié)議頭,能夠過濾TCP、UDP等數(shù)據(jù)包;4.能夠輸出文本方式傳送的數(shù)據(jù)包的內(nèi)容;5.能夠進(jìn)行簡單的流量統(tǒng)計(jì)。二、開發(fā)環(huán)境與工具操作系統(tǒng):windows7開發(fā)工具:visualstudio開發(fā)語言:C++附加

2、庫:Winpcap三、設(shè)計(jì)原理網(wǎng)絡(luò)嗅探器是一種常用的監(jiān)聽網(wǎng)絡(luò)的工具。所謂嗅探器(Sniffer),是一種利用計(jì)算機(jī)網(wǎng)絡(luò)接口截獲網(wǎng)絡(luò)數(shù)據(jù)的軟件或硬件,可用于網(wǎng)絡(luò)管理、網(wǎng)絡(luò)協(xié)議分析以及網(wǎng)絡(luò)安全等眾多方面。嗅探器不同于一般的鍵捕獲工具,后者只能捕獲當(dāng)?shù)亟K端控制臺上的按鍵內(nèi)容,而嗅探器所“嗅”到的是動(dòng)態(tài)的以信息包形式(如IP數(shù)據(jù)包或者以太網(wǎng)包)封裝的信息流。其中可能攜帶了重要數(shù)據(jù)或敏感信息??梢詫⑦@些捕獲到的信息包存檔,以利用相應(yīng)工具可以作進(jìn)一步分析。計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)計(jì)為嗅探器的使用創(chuàng)造了最基本的條件。在目前的網(wǎng)絡(luò)環(huán)境中,所有計(jì)算機(jī)節(jié)點(diǎn)都是共享傳輸介質(zhì),任意節(jié)點(diǎn)發(fā)出或發(fā)往任意節(jié)點(diǎn)的數(shù)據(jù)幀

3、必將經(jīng)過網(wǎng)內(nèi)每一個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)接口,此時(shí)只需對嗅探節(jié)點(diǎn)的網(wǎng)絡(luò)接口(網(wǎng)卡)進(jìn)行適當(dāng)?shù)脑O(shè)置便可為實(shí)現(xiàn)嗅探的做好準(zhǔn)備工作。在計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)卡是用來接收網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù)幀,其內(nèi)嵌的單片處理程序會(huì)檢測數(shù)據(jù)幀來源的MAC地址,并根據(jù)網(wǎng)卡所設(shè)置的接收方式來是否接收處理數(shù)據(jù),如果認(rèn)為應(yīng)該處理,則網(wǎng)卡就會(huì)產(chǎn)生中斷信號通知中央處理器,接收該數(shù)據(jù)幀并傳輸給操作系統(tǒng)處理。否則就簡單丟棄,所對應(yīng)節(jié)點(diǎn)的網(wǎng)卡就截?cái)?,?jì)算機(jī)的中央處理器并不參與。網(wǎng)卡是網(wǎng)絡(luò)中節(jié)點(diǎn)主機(jī)的關(guān)鍵硬件設(shè)備。對數(shù)據(jù)的接收一般有四種設(shè)置模式:廣播模式:接收在網(wǎng)絡(luò)中進(jìn)行廣播數(shù)據(jù)信息。組播模式:接收組播數(shù)據(jù)信息。單播模式:只有匹配

4、的目的網(wǎng)卡才能接收數(shù)據(jù)信息?;祀s模式:網(wǎng)卡能夠可以接收一切通過它的數(shù)據(jù)信息。四、系統(tǒng)功能描述及軟件模塊劃分系統(tǒng)功能設(shè)計(jì)本系統(tǒng)的基本功能為實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,并將其數(shù)據(jù)內(nèi)容解析顯示。網(wǎng)絡(luò)數(shù)據(jù)包捕獲功能主要負(fù)責(zé)從網(wǎng)絡(luò)中捕獲和過濾數(shù)據(jù),這可以通過調(diào)用winPcap提供的豐富的API函數(shù)來實(shí)現(xiàn);數(shù)據(jù)解析及顯示部分主要負(fù)責(zé)界面數(shù)據(jù)轉(zhuǎn)化、解析、處理、格式化、協(xié)議分析等,這一部分主要通過MFC來設(shè)計(jì)一個(gè)單文檔圖形用戶界面GUI,解析結(jié)果將通過MFC的類庫顯示到GUI中系統(tǒng)總系結(jié)構(gòu)網(wǎng)絡(luò)嗅探器的整體設(shè)計(jì)由三個(gè)模塊組成,自底向上分別是嗅探器設(shè)置模塊,數(shù)據(jù)包捕獲模塊,解析和顯示模塊。嗅探器設(shè)置模塊

5、主要調(diào)用winPcaP提供的API,分為獲取網(wǎng)絡(luò)設(shè)備信息,設(shè)置并編譯過濾器,打開網(wǎng)絡(luò)設(shè)備三個(gè)步驟。數(shù)據(jù)包捕獲模塊創(chuàng)建了新的線程,利用了winPcap的非回調(diào)函數(shù)Pcap_next_ex()函數(shù)從winPcap底層驅(qū)動(dòng)的數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù)包,并將數(shù)據(jù)包存儲(chǔ)在系統(tǒng)臨時(shí)文件中,以便之后的分析。用Pcap_open_offline()函數(shù)從離線文件中讀取包。讀取到的任意一個(gè)符合捕獲條件數(shù)據(jù)包,將其內(nèi)容解析,并顯示本數(shù)據(jù)包。捕獲完成后,進(jìn)人解析和顯示模塊。(嗅探器總體結(jié)構(gòu)如圖1)圖1.嗅探器總體結(jié)構(gòu)五、設(shè)計(jì)步驟嗅探器的設(shè)置模塊a.獲取已連接的網(wǎng)絡(luò)設(shè)備列表,winPcap提供了pcap_

6、findalldevs_ex()函數(shù),這個(gè)函數(shù)返回一個(gè)PcaP-if結(jié)構(gòu)的鏈表,每個(gè)這樣的結(jié)構(gòu)都包含了一個(gè)適配器的詳細(xì)信息。b.打開網(wǎng)絡(luò)設(shè)備,winPcap提供了pcap_open()函數(shù),該函數(shù)第一參數(shù)制定要捕獲數(shù)據(jù)包的哪些部分,第二參數(shù)用來制定適配器是否為混雜模式,第三參數(shù)為讀取數(shù)據(jù)的超時(shí)時(shí)間,當(dāng)適配器被打開后,就可以進(jìn)行捕獲工作了;c.設(shè)置過濾器,winPcap中用來過濾數(shù)據(jù)包的函數(shù)是pcap_compile()和pcap_setfilter()。pcap_compile()它將一個(gè)高層的布爾過濾表達(dá)式編譯成一個(gè)能夠被過濾引擎所解釋的低層的字節(jié)碼。pcap_setfilt

7、er()將一個(gè)過濾器與內(nèi)核捕獲會(huì)話相關(guān)聯(lián)。當(dāng)pcap_set_filter()被調(diào)用時(shí),這個(gè)過濾器將被應(yīng)用到來自網(wǎng)絡(luò)的所有數(shù)據(jù)包,并且,所有的符合要求的數(shù)據(jù)包(即那些經(jīng)過過濾器以后,布爾表達(dá)式為真的包),將會(huì)立即復(fù)制給應(yīng)用程序。數(shù)據(jù)包的捕獲模塊該部分創(chuàng)建了一個(gè)用于捕獲數(shù)據(jù)包的線程,在該線程中調(diào)用winPcap提供的pcap_next_ex()函數(shù)從底層驅(qū)動(dòng)數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù)包,該函數(shù)接受已打開的網(wǎng)絡(luò)設(shè)備句柄,返回捕獲數(shù)據(jù)包的實(shí)體,并用pcap_dump函數(shù)將每一個(gè)數(shù)據(jù)包寫人臨時(shí)文件中。解析

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。