于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc

于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc

ID:14377001

大小:776.50 KB

頁數(shù):22頁

時間:2018-07-28

于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc_第1頁
于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc_第2頁
于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc_第3頁
于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc_第4頁
于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc_第5頁
資源描述:

《于基winpcap的嗅探器設計與實現(xiàn) --本科畢業(yè)設計.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

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

2、具:visualstudio開發(fā)語言:C++附加庫:Winpcap三、設計原理網(wǎng)絡嗅探器是一種常用的監(jiān)聽網(wǎng)絡的工具。所謂嗅探器(Sniffer),是一種利用計算機網(wǎng)絡接口截獲網(wǎng)絡數(shù)據(jù)的軟件或硬件,可用于網(wǎng)絡管理、網(wǎng)絡協(xié)議分析以及網(wǎng)絡安全等眾多方面。嗅探器不同于一般的鍵捕獲工具,后者只能捕獲當?shù)亟K端控制臺上的按鍵內(nèi)容,而嗅探器所“嗅”到的是動態(tài)的以信息包形式(如IP數(shù)據(jù)包或者以太網(wǎng)包)封裝的信息流。其中可能攜帶了重要數(shù)據(jù)或敏感信息??梢詫⑦@些捕獲到的信息包存檔,以利用相應工具可以作進一步分析。計算機網(wǎng)絡的設計為嗅探器的使用創(chuàng)造了最基

3、本的條件。在目前的網(wǎng)絡環(huán)境中,所有計算機節(jié)點都是共享傳輸介質(zhì),任意節(jié)點發(fā)出或發(fā)往任意節(jié)點的數(shù)據(jù)幀必將經(jīng)過網(wǎng)內(nèi)每一個節(jié)點的網(wǎng)絡接口,此時只需對嗅探節(jié)點的網(wǎng)絡接口(網(wǎng)卡)進行適當?shù)脑O置便可為實現(xiàn)嗅探的做好準備工作。在計算機網(wǎng)絡系統(tǒng)中,網(wǎng)卡是用來接收網(wǎng)絡上其他節(jié)點發(fā)來的數(shù)據(jù)幀,其內(nèi)嵌的單片處理程序會檢測數(shù)據(jù)幀來源的MAC地址,并根據(jù)網(wǎng)卡所設置的接收方式來是否接收處理數(shù)據(jù),如果認為應該處理,則網(wǎng)卡就會產(chǎn)生中斷信號通知中央處理器,接收該數(shù)據(jù)幀并傳輸給操作系統(tǒng)處理。否則就簡單丟棄,所對應節(jié)點的網(wǎng)卡就截斷,計算機的中央處理器并不參與。網(wǎng)卡是網(wǎng)絡

4、中節(jié)點主機的關(guān)鍵硬件設備。對數(shù)據(jù)的接收一般有四種設置模式:廣播模式:接收在網(wǎng)絡中進行廣播數(shù)據(jù)信息。組播模式:接收組播數(shù)據(jù)信息。單播模式:只有匹配的目的網(wǎng)卡才能接收數(shù)據(jù)信息。混雜模式:網(wǎng)卡能夠可以接收一切通過它的數(shù)據(jù)信息。四、系統(tǒng)功能描述及軟件模塊劃分系統(tǒng)功能設計本系統(tǒng)的基本功能為實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲,并將其數(shù)據(jù)內(nèi)容解析顯示。網(wǎng)絡數(shù)據(jù)包捕獲功能主要負責從網(wǎng)絡中捕獲和過濾數(shù)據(jù),這可以通過調(diào)用winPcap提供的豐富的API函數(shù)來實現(xiàn);數(shù)據(jù)解析及顯示部分主要負責界面數(shù)據(jù)轉(zhuǎn)化、解析、處理、格式化、協(xié)議分析等,這一部分主要通過MFC來設計一

5、個單文檔圖形用戶界面GUI,解析結(jié)果將通過MFC的類庫顯示到GUI中系統(tǒng)總系結(jié)構(gòu)網(wǎng)絡嗅探器的整體設計由三個模塊組成,自底向上分別是嗅探器設置模塊,數(shù)據(jù)包捕獲模塊,解析和顯示模塊。嗅探器設置模塊主要調(diào)用winPcaP提供的API,分為獲取網(wǎng)絡設備信息,設置并編譯過濾器,打開網(wǎng)絡設備三個步驟。數(shù)據(jù)包捕獲模塊創(chuàng)建了新的線程,利用了winPcap的非回調(diào)函數(shù)Pcap_next_ex()函數(shù)從winPcap底層驅(qū)動的數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù)包,并將數(shù)據(jù)包存儲在系統(tǒng)臨時文件中,以便之后的分析。用Pcap_open_offline()函數(shù)從離線文件

6、中讀取包。讀取到的任意一個符合捕獲條件數(shù)據(jù)包,將其內(nèi)容解析,并顯示本數(shù)據(jù)包。捕獲完成后,進人解析和顯示模塊。(嗅探器總體結(jié)構(gòu)如圖1)圖1.嗅探器總體結(jié)構(gòu)五、設計步驟嗅探器的設置模塊a.獲取已連接的網(wǎng)絡設備列表,winPcap提供了pcap_findalldevs_ex()函數(shù),這個函數(shù)返回一個PcaP-if結(jié)構(gòu)的鏈表,每個這樣的結(jié)構(gòu)都包含了一個適配器的詳細信息。b.打開網(wǎng)絡設備,winPcap提供了pcap_open()函數(shù),該函數(shù)第一參數(shù)制定要捕獲數(shù)據(jù)包的哪些部分,第二參數(shù)用來制定適配器是否為混雜模式,第三參數(shù)為讀取數(shù)據(jù)的超時時

7、間,當適配器被打開后,就可以進行捕獲工作了;c.設置過濾器,winPcap中用來過濾數(shù)據(jù)包的函數(shù)是pcap_compile()和pcap_setfilter()。pcap_compile()它將一個高層的布爾過濾表達式編譯成一個能夠被過濾引擎所解釋的低層的字節(jié)碼。pcap_setfilter()將一個過濾器與內(nèi)核捕獲會話相關(guān)聯(lián)。當pcap_set_filter()被調(diào)用時,這個過濾器將被應用到來自網(wǎng)絡的所有數(shù)據(jù)包,并且,所有的符合要求的數(shù)據(jù)包(即那些經(jīng)過過濾器以后,布爾表達式為真的包),將會立即復制給應用程序。數(shù)據(jù)包的捕獲模塊該部

8、分創(chuàng)建了一個用于捕獲數(shù)據(jù)包的線程,在該線程中調(diào)用winPcap提供的pcap_next_ex()函數(shù)從底層驅(qū)動數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù)包,該函數(shù)接受已打開的網(wǎng)絡設備句柄,返回捕獲數(shù)據(jù)包的實體,并用pcap_dump函數(shù)將每一個數(shù)據(jù)包寫人臨時文件中。解析

當前文檔最多預覽五頁,下載文檔查看全文

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

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