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

正文內(nèi)容

畢業(yè)設(shè)計(jì):一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā)-全文預(yù)覽

  

【正文】 表 53 數(shù)據(jù)包總體結(jié)構(gòu) 數(shù)據(jù)包 IP 頭 信息頭(如 TCP 頭、 UDP 頭等) 數(shù)據(jù) 太網(wǎng) V2標(biāo)準(zhǔn) 的主要特點(diǎn)是通過(guò)類型域標(biāo)識(shí)了封裝在幀里的數(shù)據(jù)包所采用的協(xié)議,類型域是一個(gè)有效的指針,通過(guò)它,數(shù)據(jù)鏈路層就可以承載多個(gè)上層(網(wǎng)絡(luò)層)協(xié)議。這是因?yàn)椴东@到的網(wǎng)絡(luò)數(shù)據(jù)包是一個(gè)數(shù)據(jù)幀,其中最外層的協(xié)議是鏈路層協(xié)議,然后分別是網(wǎng)絡(luò)層,傳輸層和應(yīng)用層。 其具體步驟如下: (1)用 Word 編輯好幫助文檔,并保存為網(wǎng)頁(yè)格式, 當(dāng)然,也可以用其它軟件來(lái)編輯網(wǎng)頁(yè) 。 其中“ \\” 為文件路途和文件名, “ \\”表示 為當(dāng)前目錄 。 (3)在 MFC 中添加一個(gè) 幫助 菜單, 并 加 如 相應(yīng)的響應(yīng)函數(shù)。 其流程圖如 圖 : 圖 數(shù)據(jù)包分析模塊流程圖 其它 模塊設(shè)計(jì) 作為一個(gè)完整的程序,必需有相關(guān)的幫助說(shuō)明。 根據(jù)前面的設(shè)計(jì)思路 , 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的解碼分析,必 須從鏈路層開始分析。 數(shù)據(jù)包的總體結(jié)構(gòu) 如 表 53所示,因?yàn)閿?shù)據(jù)發(fā)送時(shí)從協(xié)議棧的高層到底層, 會(huì)在每一層根據(jù)所使用的不同協(xié)議添加不同的數(shù)據(jù)頭,所以通常在底層直接截獲得到的數(shù)據(jù)包內(nèi),會(huì)有不止一個(gè)的協(xié)議頭。 表 51 Ether_II的幀結(jié)構(gòu) 前導(dǎo)碼 目的地址 源地址 類 型 數(shù)據(jù) 報(bào) 校驗(yàn)碼 8 字節(jié) 6字節(jié) 6 字節(jié) 2字節(jié) 46~1500 字節(jié) 4 字節(jié) 前導(dǎo)碼:包括同步碼(用來(lái)使局域網(wǎng)中的所有節(jié)點(diǎn)同步, 7字節(jié)長(zhǎng))和幀標(biāo)志(幀的起始標(biāo)志, 1 字節(jié))兩部分; 目的地址:接收端的 MAC 地址, 6 字節(jié)長(zhǎng); 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 26 頁(yè) 共 47 頁(yè) 源地址:發(fā)送端的 MAC地址, 6字節(jié)長(zhǎng); 類型:數(shù)據(jù)包的類型(即上層協(xié)議的類型), 2 字節(jié)長(zhǎng); 數(shù)據(jù):被封裝的數(shù)據(jù)包, 46- 1500 字節(jié)長(zhǎng); 校驗(yàn)碼:錯(cuò)誤檢驗(yàn), 4字節(jié)長(zhǎng)。雖然幀頭和幀尾所用的字節(jié)數(shù)是固定不變的,但根據(jù)被封裝數(shù)據(jù)包大小的不同,以太網(wǎng)幀的長(zhǎng)度也隨之變化,變化的范圍是 641518 字節(jié)(不包括 8字節(jié)的前導(dǎo)碼)。 (5)void pcap_breakloop(pcap_t *p) 此函數(shù)的功能是退出循環(huán)捕 獲數(shù)據(jù)包狀態(tài) (6)pcap_t *pcap_open_dead(int linktype,int snaplen) 此函數(shù)的功能是構(gòu)造一個(gè) Libpcap 句柄。所以,可以在回調(diào)函數(shù)中對(duì)捕獲到的數(shù)據(jù)包進(jìn)行操作。 設(shè)置好過(guò)濾器后,就調(diào)用函數(shù) pcap_loop 進(jìn)行循環(huán)監(jiān)聽。 WinPcap 提供 2 種抓包方法 : pcap_loop()方法和 pcap_next_ex()方法。 (4)tcp dst port 80 到達(dá)本機(jī) TCP端口 80的幀 。 應(yīng)用程序 設(shè)置過(guò)濾器 pcap_pile pcap_freecode 系統(tǒng)調(diào)用 NPF 測(cè)試過(guò)濾器 釋放過(guò)濾器 pcap_pile_nopcap pcap_setfilter pcap_setfilter_win32_npf pcap_open_dead pcap_pile pcap_close PacketSetBpf DeviceIoConctrol NPF_IoConctrol NPF_tap bpf_validate NPF_jitter NPF_ResetBuffer_Contents NPFtoX86 bpf_filter_with_2_buffers NPFtoX86 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 24 頁(yè) 共 47 頁(yè) (2)tcp[tcpflags]amp。 下圖 相關(guān) 函數(shù)調(diào)用關(guān)系 圖 。相關(guān) 規(guī)則函數(shù) (1)int pcap_setfilter(pcap_t *p,struct bpf_program *fp) 此函數(shù)的功能是設(shè)置 BFP 過(guò)濾規(guī)則,由參數(shù) fp 確定。它提供非常有效的方法去獲取網(wǎng)絡(luò)流量中的某些數(shù)據(jù)包,這也是 WinPcap 捕獲機(jī)制中的一個(gè)重要組成部分。 圖 接受線程流程 是 否 收到 是 超時(shí)返回 否 申請(qǐng)內(nèi)存并加入鏈表 接受線程開始 接受數(shù)據(jù)包 寫線程存在 創(chuàng)建寫線程 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 22 頁(yè) 共 47 頁(yè) 圖 工作線程流程 至于顯示速度不能完全與接收速度同步 , 是因?yàn)樵诰W(wǎng)絡(luò)流量較大時(shí),封包截獲的速度遠(yuǎn)大于協(xié)議解析和寫屏的速度,即接收線程建立數(shù)據(jù)鏈表遠(yuǎn)快于工作線程對(duì)鏈表的處理,這時(shí),封包信息的顯示會(huì)稍有 延遲。這樣做的好處是,數(shù)據(jù)接收與數(shù)據(jù)顯示完全分離。為 0 時(shí),線程創(chuàng)建后立即運(yùn)行。 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 21 頁(yè) 共 47 頁(yè) 參數(shù) 的意義是 : lpThreadAttributes=null 時(shí)表示 使用缺省的安全性; dwStackSize 指定初始提交的棧大小,以字節(jié)為單位 。因此,新線程可以訪問(wèn)進(jìn)程的內(nèi)核對(duì)象的所有句柄、進(jìn)程中的所有內(nèi)存和在這個(gè)相同的進(jìn)程中的所有其 它 線 程的堆棧。可以將線程內(nèi)核對(duì)象視為由關(guān)于線程的統(tǒng)計(jì)信息組成的一個(gè)小型的數(shù)據(jù)結(jié)構(gòu)。線程由兩個(gè)部分組成: (1)線程的內(nèi)核對(duì)象,操作系統(tǒng)用它來(lái)對(duì) 線程 實(shí)施管理。 一種解決此問(wèn)題的方法是在整個(gè)捕獲過(guò)程停止后集中處理數(shù)據(jù)并 顯示 ,但由于不能同步監(jiān)視網(wǎng)絡(luò)數(shù)據(jù),會(huì)給使用帶來(lái)一些不便。 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 20 頁(yè) 共 47 頁(yè) 多線程 設(shè)計(jì) 由于本程序?qū)崿F(xiàn)了在截獲網(wǎng)絡(luò)數(shù)據(jù)包的同時(shí)顯示數(shù)據(jù)包概要信息的功能。 參數(shù) auth 是一個(gè)指向一個(gè) pcap_rmtauth 結(jié)構(gòu)體的指針,該結(jié)構(gòu)體保存遠(yuǎn)程機(jī)器上用戶所需的認(rèn)證信息。 參數(shù) flags 是用來(lái)保存幾個(gè)捕獲數(shù)據(jù)包所需的標(biāo)識(shí) ,合法 的標(biāo)識(shí)在 文件中定義。 參數(shù) source 是以 “ \0” 結(jié)尾的字符串,包含所需打開源的名稱。該 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 19 頁(yè) 共 47 頁(yè) 函數(shù)成功返回時(shí),該指針被設(shè)置為指向網(wǎng)絡(luò)設(shè)備鏈表的第一個(gè)元素,該鏈表的每個(gè)元素都是“ pcap_if_t”類型。 參數(shù) auth 是一個(gè)指向 pcap_rmtauth 結(jié)構(gòu)體的指針。 該函數(shù)創(chuàng) 建一個(gè)能用 pcap_open 函數(shù)打開的網(wǎng)絡(luò)適配器設(shè)備列表。調(diào)用依賴平臺(tái)的函數(shù) pcap_platform_finddevs 查找余下的設(shè)備信息,并添加到適配器設(shè)備列表 devlist 中 , 為防止設(shè)備被遺漏。 本小節(jié)討論的是 網(wǎng)絡(luò)適配器的設(shè)計(jì) ,它 是整個(gè)流程中的第一個(gè)環(huán)節(jié),以下作詳細(xì)的說(shuō)明。 函數(shù)原型如下: char *pcap_lookupdev(char *errbuf) (4)pcap_lookup 此函數(shù)的功能是獲取 網(wǎng)絡(luò)地址和網(wǎng)絡(luò)掩碼。 網(wǎng)絡(luò)接口函數(shù) 下面的網(wǎng)絡(luò)接口函數(shù)只是簡(jiǎn)要介紹,相關(guān)參數(shù)說(shuō)明及具體功能實(shí)現(xiàn)在會(huì)在后面的小節(jié)介紹。如果是捕獲模式,網(wǎng)絡(luò)接口就只捕獲網(wǎng)絡(luò)數(shù)據(jù)包;如果是統(tǒng)計(jì)模式,網(wǎng)絡(luò)接口就可以進(jìn)行網(wǎng)絡(luò)信息統(tǒng)計(jì)。此函數(shù)的功能是設(shè)置網(wǎng)絡(luò)接口的共組模式。此函數(shù)的功能是設(shè)置內(nèi)核中與網(wǎng)卡相關(guān)的緩沖區(qū)的大小。 //未用 ifdef WIN32 u_int bs_capt。 //捕獲長(zhǎng)度 bpf_u_int32 len。 //描述信息 struct pcap_addr *addresses。 (3) pcap_if 數(shù)據(jù)結(jié)構(gòu)描述的是一個(gè)網(wǎng)絡(luò)接口,它其實(shí)是網(wǎng)絡(luò)接口鏈表中的一個(gè)結(jié)點(diǎn) ,其 數(shù)據(jù)結(jié)構(gòu)定義如下: typedef struct pcap_if pcap_if_t。 //區(qū)域時(shí)間 bpf_u_int32 sigfigs。 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 14 頁(yè) 共 47 頁(yè) (2)pcap_file_header 數(shù)據(jù)結(jié)構(gòu)用來(lái)描述一個(gè) WinPcap 存儲(chǔ)文件類型 ,其 數(shù)據(jù)結(jié)構(gòu)的定義如下: struct pcap_file_header{ bpf_u_int32 magic。 //指向包含一個(gè)地址的 sockaddr 的結(jié)構(gòu)的指針 struct sockaddr *mask。如果不需要開發(fā)基于 WinPcap 的程序,而只是運(yùn)行基于 WinPcap的軟件,就不需要此文件。 過(guò)濾數(shù)據(jù) 包是通過(guò) pcap_pile()和 pcap_setfilter()函數(shù) 來(lái)實(shí)現(xiàn)的 ; (4)最后通過(guò) pcap_freealldevs()函數(shù)來(lái)釋放接口列表 , pcap_close()函數(shù)來(lái)關(guān)閉和返回。本章主要討論系統(tǒng)核心部分的具體實(shí)現(xiàn),即利用 WinPcap 開發(fā)網(wǎng)絡(luò)嗅探工具,包括了數(shù)據(jù)包的捕獲和分析兩大主要部分。 系統(tǒng)結(jié)構(gòu) 由前面任務(wù)與目標(biāo)一節(jié)中所提到的,一個(gè)完整的嗅探工具必需有數(shù)據(jù)包捕獲及分析、數(shù)據(jù)存儲(chǔ)等 基本 功能 ,此外, 本系統(tǒng) 加入了幫助模塊 ,通過(guò)調(diào)用幫助文檔給用戶提供程序使用幫助。 運(yùn)行 環(huán) 境 本系統(tǒng) 運(yùn) 正常 行的硬件環(huán)境 需求 如下: CPU :P4 以上 ; 內(nèi)存 :256MB以上 ; 硬盤 :20G 以上 。 捕獲到的數(shù)據(jù)包并不僅僅是單純的數(shù)據(jù)信息,而是包含有 IP頭、 TCP 頭等信息頭的最原始的數(shù)據(jù)信息,這些信息保留了它在網(wǎng)絡(luò)傳輸時(shí)的原貌 ,為分析網(wǎng)絡(luò)信息提供了重要資料 。 為了實(shí)現(xiàn)用戶所提出的各種需求,嗅探器必需達(dá)到以下功能: (1)運(yùn)行于數(shù)據(jù)鏈路層,監(jiān)視網(wǎng)絡(luò)狀態(tài),對(duì)數(shù)據(jù)幀進(jìn)行捕捉和 統(tǒng)計(jì), 為優(yōu)化網(wǎng)絡(luò)性能 、增強(qiáng)系統(tǒng)安全性 提供 充分有效的依據(jù) 。 使用網(wǎng)絡(luò)嗅探工具的主要人群是黑客或網(wǎng)絡(luò)安全技術(shù)人員, 從攻擊的角度,黑客可以利用嗅探器程序非法獲取網(wǎng)絡(luò)中 傳輸?shù)拇罅棵舾行畔ⅲ鐜ぬ?hào)和口令等,對(duì)網(wǎng)絡(luò)安全極具威脅 ;從防守的角度,嗅探技術(shù)是基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)的最底層環(huán)節(jié),是整個(gè)系統(tǒng)的數(shù)據(jù)來(lái)源 ,為技術(shù)人員提供重要的依據(jù) 。 模塊提供了一組功能強(qiáng)大且垮平臺(tái)的函數(shù),利用這些函數(shù),可以不去關(guān)心適配器和操作系統(tǒng)的類型。 用于在 Windows 平臺(tái)上為數(shù)據(jù)包驅(qū)動(dòng)程序提供一個(gè)公共的接口。 NPF 是 WinPcap 的組件,用來(lái)處理網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包,并對(duì)用戶層導(dǎo)出數(shù)據(jù)包捕獲、發(fā)送與分析的能力。在 WinPcap 中還實(shí)現(xiàn)了流量統(tǒng)計(jì)功能,這也是在內(nèi)核層實(shí)現(xiàn)的。 WinPcap 也具備數(shù)據(jù)包的過(guò)濾功能,在接收網(wǎng)絡(luò)數(shù)據(jù)包和發(fā)送個(gè)應(yīng)用程序之前在內(nèi)核層對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾,其過(guò)濾規(guī)則與 BPF過(guò)濾規(guī)則兼容 。 使用 該開發(fā)包 可以提 高 應(yīng)用效率 , WinPcap 充分考慮了各種性能和效率的優(yōu)化,在內(nèi)核層實(shí)現(xiàn)了數(shù)據(jù)包的捕獲和過(guò)濾 , 這是由 NPF來(lái)實(shí)現(xiàn)的, NPF 是 WinPcap 的核心部分,它實(shí)現(xiàn)了內(nèi)核的統(tǒng)計(jì)功能,對(duì)于設(shè)計(jì)網(wǎng)絡(luò)流量的程序很有好處。在 Windows 平臺(tái)下有與 Libpcap 兼容的 WinPcap 開 發(fā)包,它是專門針對(duì) Windows 平臺(tái)而開發(fā)的,本次程序的開發(fā)就是利用 WinPcap 庫(kù)函數(shù)實(shí)現(xiàn)的。從效率上來(lái)講, BPF 在三種機(jī)制中是性能最高的,而 SOCK_PACKET 是最弱的。 以太網(wǎng)采用了 CSMA/CD 技術(shù),它 使用了廣播機(jī)制,所有與網(wǎng)絡(luò)連接的機(jī)器都可以看到網(wǎng)絡(luò)上傳播的數(shù)據(jù), 操作系統(tǒng)提供的捕獲機(jī)制主要有以下三種: (1)SOCK_PACKET 類型套接口 ; (2)數(shù)據(jù)鏈路提供 者 接口 ((Data Link Provider Interface, DLPI); (3)伯克利數(shù)據(jù)包過(guò)濾器 (Berkeley Packet Filter, BPF)。 因此,嗅探程序就能夠接收到整個(gè)以太網(wǎng)內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)信息了 , 而不管該數(shù)據(jù) 是 否是傳給它的。正是因?yàn)檫@樣的原因,以太網(wǎng)卡都構(gòu)造了硬件的 “ 過(guò)濾器 ” , 這個(gè)過(guò)濾器將忽略掉一切和自己無(wú)關(guān)的網(wǎng)絡(luò)信息 , 事實(shí)上是忽略掉了與自身 MAC地址不符合的信息。 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 3 頁(yè) 共 47 頁(yè) 2 技術(shù)背景 嗅探原理 嗅探 是一種常用的收集有用數(shù)據(jù)的方法 , 嗅探器是利用計(jì)算機(jī)的網(wǎng)絡(luò)接口截獲目的地為其它計(jì)算機(jī)的數(shù)據(jù)報(bào)文的一種工具。 一個(gè)網(wǎng)絡(luò)嗅探工具的開發(fā) 第 2 頁(yè) 共 47 頁(yè) 任務(wù)與目標(biāo) 本課題 的任務(wù)是 設(shè)計(jì)并 編程 [9][10]實(shí)現(xiàn)一個(gè) 基本的 網(wǎng)絡(luò) 嗅探工具,能實(shí)現(xiàn) Sniffer、Ethereal 等常用網(wǎng)絡(luò)嗅探工具的基本功能,包括:偵聽所有進(jìn)出本主機(jī)的數(shù)據(jù)包,解析顯示數(shù)據(jù)包;能夠偵聽來(lái)源于指定 IP 地址的數(shù)據(jù)包,能夠偵聽指定目的 IP 地址的數(shù)據(jù)包,顯示捕獲數(shù)據(jù)包的內(nèi)容;能夠根據(jù)指定的協(xié)議類型過(guò)慮包等等。 我們 通過(guò)對(duì)網(wǎng)絡(luò)嗅探器 的 數(shù)據(jù)包捕獲與分析功能的進(jìn)一步了解, 才能 做到知
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1