freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具的設(shè)計(jì)與實(shí)現(xiàn)免費(fèi)(論文)-在線瀏覽

2025-02-09 00:57本頁面
  

【正文】 目前 sniffer 軟件種類繁多,但是很多都存在一些問題,比如說:效率低,效果差,分析困難等等。所以真正想要找到一款操作簡單使用方便的數(shù)據(jù)包捕獲軟件并不容易。現(xiàn)在市場上的國內(nèi)外的各種防火墻軟件、網(wǎng)絡(luò)監(jiān)聽軟件和協(xié)議分析軟件等軟件種類繁多,讓人有點(diǎn)眼花繚亂。我總是在一些比較著名的軟件下載網(wǎng)站上獲取一些比較受好評的軟件來使用,然后從中選擇適合自己的。 課題研究的意義 隨著網(wǎng)絡(luò)的飛速發(fā)展, Inter 的迅速普及,網(wǎng)絡(luò)已經(jīng)深入到了我們的生活,跟我們 息息相關(guān)。防火墻也成了一個(gè)非常熱門的課題,帶來巨大的社會(huì)經(jīng)濟(jì)效益,保護(hù)我們的合法權(quán)益不受到侵害。網(wǎng)絡(luò)數(shù)據(jù)包的捕獲在于網(wǎng)絡(luò)安全領(lǐng)域有著無可代替的重要作用,不論是防火墻技術(shù),網(wǎng)絡(luò)監(jiān)聽技術(shù)或者是網(wǎng)絡(luò)測試都離不開數(shù)據(jù)包的捕獲,這是一切的基礎(chǔ),其他的功能都要基于這個(gè)功能才能實(shí)現(xiàn)。必須要明白數(shù)據(jù)包在網(wǎng)絡(luò)中是怎么傳送的,通過什么協(xié)議,運(yùn)作在哪一層,當(dāng)然還要了解數(shù)據(jù)包的特點(diǎn),方便你能更好的獲得有用的信息。 物理層: 涉及在物理信道上傳輸原始比特,處理與物理傳輸介質(zhì)有關(guān)的機(jī)械的、電氣的和過程的接口。MAC 子層解決廣播型網(wǎng)絡(luò)中多用戶競爭信道使用權(quán)問題。 網(wǎng)絡(luò)層: 負(fù)責(zé)將數(shù)據(jù)從物理連接的一端傳到另一端,即所謂點(diǎn)到點(diǎn),通信主要功能是尋徑,以及與之相關(guān)的流量控制和擁塞控制等。傳輸層通過向上提供一個(gè)標(biāo)準(zhǔn)、通用的界面,使上層與通信子網(wǎng)(下三層)的細(xì)節(jié)相隔離。 會(huì)話層: 主要 針對遠(yuǎn)程終端訪問。 表示層: 主要功能是信息轉(zhuǎn)換,包括信息壓縮、加密、與標(biāo)準(zhǔn)格式的轉(zhuǎn)換(以及上述各操作的逆操作)等等。 對于網(wǎng)絡(luò)方面的知識(shí)應(yīng)該予以一定的了解,也許你在學(xué)習(xí)的時(shí)候沒有發(fā)覺它的具體作用,但是當(dāng)你一旦在實(shí)踐中遇到了運(yùn)用到了就會(huì)豁然開朗,發(fā)現(xiàn)原來一切是這么回事。 第 3 頁 共 27 頁 下面兩幅圖圖 1 和圖 2 中我們可以看到現(xiàn)在風(fēng)靡世界的 Inter 網(wǎng)的 結(jié)構(gòu)跟著名的 OSI 之間的區(qū)別和共同之處: 圖 1 TCP/IP體系結(jié)構(gòu) 下面是 OSI 和 TCP/IP 結(jié)構(gòu)的對比, 圖 2 OSI與 Inter協(xié)議族 值得注意的是,在一些問題的處理上, TCP/IP 與 OSI 是很不相同的。但 ISO 和 CCITT 最初只考慮到全世界都使用同一種統(tǒng)一的標(biāo)準(zhǔn)公用數(shù)據(jù)網(wǎng)將各種不同的系統(tǒng)互聯(lián)起來。 ,而 OSI 在開始時(shí)只強(qiáng)調(diào)面向連接這一種服務(wù)。 面向?qū)ο蠛涂梢暬幊? 面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對象的數(shù)據(jù)結(jié)構(gòu)。不僅如此, OO 技術(shù)在需求分析、可維護(hù)性和可靠性這三個(gè)軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破,徹底地解決了在這些方面存在的嚴(yán)重問題,從而宣告了軟件危機(jī)末日的來臨。面向?qū)ο蟪绦蛟O(shè)計(jì)中通過定義基本的功能模塊 類,使得物質(zhì)世界中的對象被有機(jī)的分解, 然后遵循一定的原則用程序?qū)⒛K組合、裝配、擴(kuò)充、達(dá)到按用戶的要求,將現(xiàn)實(shí)世界中的對象以軟件形式部分或全部實(shí)現(xiàn)。這種程序設(shè)計(jì)方法可使用開發(fā)時(shí)間大大地縮短,切實(shí)地提高編程人員的工作效率。Visual C++不僅是 C++語言的集成開發(fā)環(huán)境,而且與 Win32 緊密相連,所以 VC++開發(fā)系統(tǒng) 可以完成各種各樣的應(yīng)用程序的開發(fā),從底層軟件直到上層直接面向用戶的軟件。 可視化( Visual)技術(shù)得到廣泛的重視越來越多的人開始研究可視化技術(shù)。 我采用 VC++ 的 MFC 來實(shí)現(xiàn)通過界面控制程序的運(yùn)行。在設(shè)計(jì) Winpcap 時(shí)參照了 Libpcap,兩者使用方法相似。 Winpcap是在 BSD 許可證下發(fā)布的,它主要是由加利福尼亞大學(xué)的 Lawrence Berkeley Laboratory 開發(fā)。 開發(fā) Winpcap這個(gè)項(xiàng)目的目的在于為 Win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力,其核心功能是捕獲網(wǎng)絡(luò)數(shù)據(jù)包,其他功能包括數(shù)據(jù)包過濾、數(shù)據(jù)包發(fā)送、流量統(tǒng)計(jì)和數(shù)據(jù)包存儲(chǔ)等。而且提供很高的應(yīng)用效率,充分考慮了各種性能和效率的優(yōu)化,在內(nèi)核層實(shí)現(xiàn)了數(shù)據(jù)包的捕獲和過濾。 在這里我使用的是 WinPcap 版,性能穩(wěn)定。 第一部分是內(nèi)核層的數(shù)據(jù)包過濾模塊。此過濾模塊實(shí)際上是一個(gè)驅(qū) 動(dòng)程序,被稱為 NPF( Netgroup Packet Filter)數(shù)據(jù)包驅(qū)動(dòng)程序。它是提供給開發(fā)者的一個(gè)接口,使用它就可以調(diào)用 Winpcap 的函數(shù),它是一個(gè)較低層的開發(fā)接口。它也是提供給開發(fā)者的一個(gè)接口,但它是一個(gè)更高層的編程接口,其調(diào)用與系統(tǒng)無關(guān)。 網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范( NDIS, Network Driver Interface Specification) 第 6 頁 共 27 頁 是由微軟和 3 公司共同制定的,它位于網(wǎng)卡和協(xié)議層之間,提供一個(gè)接口,為上層協(xié)議提供服務(wù),并且屏蔽了下層各種網(wǎng)卡的差別,并且支持多種網(wǎng)絡(luò)協(xié)議。 NPF( Netgroup Packet Filter): NPF 是 Winpcap 的核心部分,它的主要功能就是捕獲數(shù)據(jù)包,還可以發(fā)送數(shù)據(jù)包、存儲(chǔ)數(shù)據(jù)包以及對網(wǎng)絡(luò)進(jìn)行統(tǒng)計(jì)分析。 NPF 由一個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)部件,從網(wǎng)卡驅(qū)動(dòng)程序收集網(wǎng)絡(luò)數(shù)據(jù)包,既可以發(fā)送給過濾部件,對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行過濾,也可以發(fā)送給統(tǒng)計(jì)部件,對網(wǎng)絡(luò)進(jìn)行統(tǒng)計(jì)分析,還可以發(fā)送給存儲(chǔ)部件,把網(wǎng)絡(luò)數(shù)據(jù)包直接存儲(chǔ)到磁盤。 從圖 3 中也可以看到, 位于 的下層,是較低層的網(wǎng) 第 7 頁 共 27 頁 絡(luò)編程接口。 提供了很 多功能復(fù)雜的編程接口,其接口形式與微軟的 DDK 提供的 差不多。用的最多的還是 ,因?yàn)樗峁┝艘粋€(gè)更高級(jí)、更方便的編程接口。使用 進(jìn)行數(shù)據(jù)包捕獲的編程與使用 Libpcap 一樣簡單。 Pcap_addr 數(shù)據(jù)結(jié)構(gòu)的定義如下: Tpyedef struct pcap_addr pcap_addr_t; Struct pcap_addr{ Struct pcap_addr *next; //指向下一個(gè)地址結(jié)點(diǎn) Struct sockaddr *addr; //網(wǎng)絡(luò)接 口地址 Struct sockaddr *mask; //地址掩碼 Struct sockaddr *broadaddr; //廣播地址 Struct sockaddr *dstaddr; //目的地址 }; 此數(shù)據(jù)結(jié)構(gòu)描述的是網(wǎng)絡(luò)接口的地址。 第 8 頁 共 27 頁 Pcap_pkthdr 數(shù)據(jù)結(jié)構(gòu)定義如下: Struct pcap_pkthdr{ Struct timeval ts; //時(shí)間戳 Bpf_u_int32 caplen; //捕獲長度 Bpf_u_int32 len; //數(shù)據(jù)包長度 }; 此數(shù)據(jù)結(jié)構(gòu)用來描述每個(gè)捕獲到的數(shù)據(jù)包的一些基本信息,每個(gè)數(shù)據(jù)包都有此數(shù)據(jù)結(jié)構(gòu)。下面介紹一些主要的函數(shù)。 參數(shù)描述:參數(shù) alldevsp 表示網(wǎng)絡(luò)接口鏈表,參數(shù) errbuf 用來儲(chǔ)存錯(cuò)誤信息。 b) void pcap_freealldevs(pcap_if_t *alldevs); 函數(shù)返回值:無。 此函數(shù)的功能是釋放網(wǎng)絡(luò)接口鏈表中的所有網(wǎng)絡(luò)接口。 參數(shù)描述:參數(shù) device 表示網(wǎng)絡(luò)接口的名字;參數(shù) snaplen 表示捕獲數(shù)據(jù)包的長度;參數(shù) promisc 表示是否設(shè)置混雜模式,如果賦值 1,就表示設(shè)置混雜模式;參數(shù) to_ms 表示等待時(shí)間;參數(shù) ebuf 表示儲(chǔ)存錯(cuò)誤 信息。 a) int pcap_setfilter(pcap_t *p,struct bpf_program *fp) 第 9 頁 共 27 頁 //此函數(shù)設(shè)置 BPF 過濾規(guī)則 ,由參數(shù) fp確定 b) int pcap_pile(pcap_t *p,struct bpf_program *program,char *buf,int optimize,bpf_u_int32 mask) //此函數(shù)的功能是編譯 BPF 過濾規(guī)則。 a) int pcap_loop(pcap_t *p,int t,pcap_handler callback,u_char *user) 函數(shù)返回值:操作成功返回 0,失敗返回負(fù)數(shù)。 此函數(shù)是循環(huán)捕獲網(wǎng)絡(luò)數(shù)據(jù)包,直到遇到錯(cuò)誤或者滿足退出條件。 說明 : 由于 pcap_loop()這個(gè)函數(shù)在沒有數(shù)據(jù)包進(jìn)出時(shí)會(huì)可能阻塞掉,而且用 loop 會(huì)造成程序代碼更加復(fù)雜,所以我采用的下面一個(gè)pcap_next_ex()來循環(huán)抓包。 參數(shù)描述:參數(shù) p 表示 Winpcap 句柄;參數(shù) pkt_header 寶石數(shù)據(jù)包頭;參數(shù) pkt_data 表示數(shù)據(jù)包。 說明: winpcap_next_ex() 從 winpcap_next() 發(fā)展 的, 更加 簡單 好用 ,winpcap_next() 還要配合 pcap_dispatch() 來 使 用 才 能 達(dá) 到Winpcap_next_ex()的效 果。 參數(shù)描述:參數(shù) p 為 Winpcap 句柄。 a) pcap_dumper_t *pcap_dump_open(pcap_t *p,const char *fname) 此函數(shù)的功能是打開一個(gè)文件,并準(zhǔn)備向其寫入網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。 3 設(shè)計(jì)方案與系統(tǒng)功能描述 設(shè)計(jì)方案 在多方參考的情況下打算采用 Winpcap和 Winsock中的一種來實(shí)現(xiàn)抓包等相應(yīng)的功能。 Winpcap 中封裝了許多的功能,只需要直接調(diào)用,就像 java 中封裝好的類一樣,使用起來非常方便。設(shè)置開始 /停止按鈕來實(shí)現(xiàn)對于抓包函數(shù)的調(diào)用的控制。在開始 /停止按鈕中添加循環(huán)判斷語句,并且設(shè)置一個(gè) bool 型變量來控制是否開啟抓包函數(shù)的調(diào)用。如果點(diǎn)擊停止按鈕則調(diào)用 pcap_close()函數(shù)來實(shí)現(xiàn)關(guān)閉 winpcap 操作。 下面部分,為了方便大家形象的理解其中的一些東西,會(huì)適當(dāng)?shù)慕Y(jié)合一些圖片和代碼來分類詳細(xì)描述。 第 11 頁 共 27 頁 圖 4 MFC控制界面 功能描述 制作的這個(gè)軟件的最主要也是最核心的功能就是對于網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,對于捕獲到的網(wǎng)絡(luò)數(shù)據(jù)包顯示和簡單的分析,分析數(shù)據(jù)包的協(xié)議類型(是 TCP、UDP 還是 ICMP 等),還有數(shù)據(jù)包的源 IP、目的 IP 還有端口號(hào)、時(shí)間戳和包長等最后并將這些信息顯示出來。圖 5 中為系統(tǒng)初始化后加載各個(gè)模塊的流程圖。 圖 5 功能模塊圖 第 12 頁 共 27 頁 系統(tǒng)流程圖 下圖 6 是程序流程圖 圖 6 程序流程圖 根據(jù)流程圖可以清楚明白的看到每一步的流程,程序是怎么樣執(zhí)行下去的,有助于理解程序。還有就是 文件的解壓了放在 D: \畢業(yè)設(shè)計(jì)- KNIGHTG\WPDPACK 中,它是Winpcap 開發(fā)包文件,是設(shè)計(jì)基于 Winpcap 的應(yīng)用程序的開發(fā)文件。解壓后會(huì)有幾個(gè)文件夾。 VC 環(huán)境下安裝配置過程如下: 第 13 頁 共 27 頁 添加路 徑: 工具( Tools) 選擇( Options) 目錄( Directories) 同下圖圖 7 進(jìn)行設(shè)置 。39。剛開始寫代碼的時(shí)候就吃了這方面的虧,對于這個(gè) Winpcap 的環(huán)境配置不來,教程和相應(yīng)的參考書籍里面寫的非常的模糊,當(dāng) 時(shí)配置起來選項(xiàng)和欄目又多不知道該要填在哪兒,對于一個(gè) Winpcap 的初學(xué)者來說實(shí)在時(shí)有一定的難度,后來在 MSDN 論壇上面求教后才明白該怎么弄,所以在論文中特別將這點(diǎn)加入進(jìn)來。否則編譯過了,連接時(shí)也會(huì)報(bào)錯(cuò): cannot open file 。 同理設(shè)置 link,如下圖圖 10: 圖 10 Winpcap環(huán)境配置 4 MFC控件相關(guān) 通過設(shè)置不同的按鈕來實(shí)現(xiàn)不同的控制功能,還可以通過設(shè)置 list 表來顯示信息。其他的控件都比較簡單就不在這里多說了。 //設(shè)置監(jiān)聽狀況表項(xiàng) ( 0, _T(協(xié)議類型 ), LVCFMT_LEFT, 60)。 ( 2, _T(包頭長 ), LVCFMT_LEFT, 60)。 ( 4, _T(目的 IP地址 ), LVCFMT_LEFT, 125)。 ( 6, _T(目的端口號(hào) ), LVCFMT_LEFT, 80)。 然后在抓包函數(shù)執(zhí)行后得到我們需要的信息后執(zhí)行和列的插入來將數(shù)據(jù)返回界面并顯示出來。 row=(row,ip_header_proto)。 //捕獲數(shù)據(jù)包的時(shí)間戳 (row,2,b
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1