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

正文內(nèi)容

協(xié)議分析器程序的設(shè)計(jì)報(bào)告(青島理工袁超)(已修改)

2025-05-26 08:55 本頁(yè)面
 

【正文】 . . . .. .協(xié)議分析器設(shè)計(jì)報(bào)告協(xié)議分析器是一種常用的網(wǎng)絡(luò)數(shù)據(jù)收集軟件,它是在廣播式網(wǎng)絡(luò)環(huán)境下利用計(jì)算機(jī)網(wǎng)絡(luò)接口截獲目的地計(jì)算機(jī)的數(shù)據(jù)報(bào)文的一種工具。Ethernet是目前應(yīng)用最廣泛的計(jì)算機(jī)連網(wǎng)方式,它是基于總線結(jié)構(gòu)的,物理層采用廣播方式。當(dāng)一臺(tái)主機(jī)向另一臺(tái)主機(jī)發(fā)送數(shù)據(jù)時(shí),發(fā)送主機(jī)會(huì)將包含目的主機(jī)MAC地址的數(shù)據(jù)幀發(fā)送到總線上,因此同一鏈路上所有活躍主機(jī)的網(wǎng)卡都能接收到該幀。正常情況下,網(wǎng)卡收到數(shù)據(jù)幀后,會(huì)先檢測(cè)幀頭的目的地址字段,如果該地址不是本機(jī)的MAC地址,則丟棄不管,因此只有具有該地址的目的主機(jī)會(huì)接受這個(gè)數(shù)據(jù)幀。但是,如果某個(gè)主機(jī)上的程序能夠修改網(wǎng)卡的接收方式,使其成為“混雜”模式,即程序可以接收網(wǎng)絡(luò)上所有的數(shù)據(jù)幀而不理會(huì)幀頭的目的地址,利用這一點(diǎn),就可以實(shí)現(xiàn)協(xié)議分析器。因此協(xié)議分析器就是一種能將本地網(wǎng)卡狀態(tài)設(shè)成“混雜”模式并接收網(wǎng)絡(luò)上所有數(shù)據(jù)幀的軟件。協(xié)議分析器工作在網(wǎng)絡(luò)環(huán)境中的底層,攔截所有正在網(wǎng)絡(luò)上傳送的數(shù)據(jù),并且通過(guò)相應(yīng)的解析處理,可以實(shí)時(shí)分析這些數(shù)據(jù)的內(nèi)容,進(jìn)而分析所處的網(wǎng)絡(luò)狀態(tài)和整體拓?fù)洳季?。?dāng)應(yīng)用程序通過(guò)IP網(wǎng)絡(luò)傳送數(shù)據(jù)時(shí),數(shù)據(jù)就被送入TCP/IP協(xié)議棧中,然后由上至下逐一通過(guò)每一層,直到最后被當(dāng)做一串比特流送入網(wǎng)絡(luò)。其中每一層對(duì)收到的數(shù)據(jù)都要增加一些首部信息這個(gè)過(guò)程被稱(chēng)作封裝。通過(guò)以太網(wǎng)傳輸?shù)谋忍亓鞅环Q(chēng)作幀。在傳輸?shù)牧硪欢?,?dāng)目的主機(jī)收到一個(gè)以太網(wǎng)數(shù)據(jù)幀時(shí),數(shù)據(jù)就開(kāi)始從協(xié)議棧有底向上逐層解析,去掉各層協(xié)議所加上的報(bào)文頭部。每層協(xié)議均要檢查報(bào)頭中的協(xié)議標(biāo)識(shí)字段,以確定要接收數(shù)據(jù)的上層協(xié)議,最終從報(bào)文中解析出應(yīng)用層數(shù)據(jù)后交給應(yīng)用程序處理。協(xié)議分析器就是從網(wǎng)絡(luò)中捕獲數(shù)據(jù)包并對(duì)其進(jìn)行解析的過(guò)程。因此我們需要了解每層協(xié)議所規(guī)定的報(bào)文格式,然后由底向上逐層對(duì)數(shù)據(jù)包進(jìn)行解碼,最后將分析的結(jié)果顯示出來(lái)。2.協(xié)議分析器總體結(jié)構(gòu)設(shè)計(jì)此次編程的編程環(huán)境為:(1)操作系統(tǒng):Windows XP SP2;(2)開(kāi)發(fā)語(yǔ)言:C++ / MFC;(3)編譯環(huán)境:MS Visual C++;(4)第3方函數(shù)庫(kù):;協(xié)議分析器的整體結(jié)構(gòu)按功能分成3個(gè)部分,自底向上分別是數(shù)據(jù)捕獲模塊、協(xié)議解析模塊和用戶(hù)顯示模塊。整體結(jié)構(gòu)圖1所示。圖1 協(xié)議分析器整體結(jié)構(gòu)圖3 數(shù)據(jù)捕獲模塊設(shè)計(jì)數(shù)據(jù)捕獲模塊的主要功能是進(jìn)行數(shù)據(jù)采集,這個(gè)是整個(gè)系統(tǒng)的基礎(chǔ)和數(shù)據(jù)來(lái)源。程序使用Winpcap來(lái)捕獲網(wǎng)絡(luò)中原始數(shù)據(jù)包。Winpcap是數(shù)據(jù)包捕獲的開(kāi)放代碼函數(shù)庫(kù),它可以完成以下主要功能:(1) 捕獲網(wǎng)絡(luò)中的的原始數(shù)據(jù)包。(2) 使用用戶(hù)自定義規(guī)則對(duì)數(shù)據(jù)包進(jìn)行過(guò)濾。(3) 發(fā)送用戶(hù)自己構(gòu)造的數(shù)據(jù)包到網(wǎng)絡(luò)中。(4) 統(tǒng)計(jì)網(wǎng)絡(luò)流量。(5) 使用Winpcap捕獲數(shù)據(jù)包的算法使用Winpcap來(lái)捕獲數(shù)據(jù)包的算法一般分為以下幾步:(1) 獲取并列出當(dāng)前網(wǎng)絡(luò)設(shè)備列表。(2) 由用戶(hù)選擇并打開(kāi)指定網(wǎng)卡。(3) 根據(jù)過(guò)濾規(guī)則設(shè)置過(guò)濾器。(4) 捕獲數(shù)據(jù)包并進(jìn)行解析處理。 編程流程如圖2所示。 圖2 數(shù)據(jù)包捕獲流程圖4 協(xié)議解析模塊設(shè)計(jì)該模塊的主要功能就是對(duì)捕獲的數(shù)據(jù)包按照數(shù)據(jù)鏈路層(MAC)、網(wǎng)絡(luò)層(IP、ARP)、傳輸層(TCP、UDP、ICMP)的層次結(jié)構(gòu)自底向上進(jìn)行解析,最后將解析結(jié)果顯示輸出。協(xié)議解析過(guò)程如圖3所示。圖3協(xié)議解析流程圖 解析Ethernet幀Ethernet幀結(jié)構(gòu)中,前導(dǎo)碼、幀前定界符和幀校驗(yàn)和(CRC)3個(gè)字段均屬于物理層內(nèi)容,而我們使用的Winpcap抓包驅(qū)動(dòng)程序不包含這些字段,因此只需解析目的地址、源地址、長(zhǎng)度/類(lèi)型和數(shù)據(jù)4個(gè)字段即可。 圖4 Ethernet幀結(jié)構(gòu) 此處不做過(guò)多說(shuō)明,主要代碼分析見(jiàn)本文第5部分。圖5 ARP報(bào)文結(jié)構(gòu) 為了提高效率,可以使用鏈表結(jié)構(gòu)存儲(chǔ) IP數(shù)據(jù)包信息,同時(shí)還可以使用模板類(lèi)map來(lái)存儲(chǔ)IP數(shù)據(jù)包信息。圖6 IP報(bào)文結(jié)構(gòu)、TCP、和UDP數(shù)據(jù)包解析ICMP、TCP和UDP數(shù)據(jù)包與解析IP報(bào)文類(lèi)似,首先定義出各報(bào)文頭部的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,然后使用報(bào)頭指針對(duì)結(jié)構(gòu)成員進(jìn)行訪問(wèn)。針對(duì)數(shù)據(jù)長(zhǎng)度為8位的字段通過(guò)結(jié)構(gòu)成員直接存取,對(duì)于16位和32位長(zhǎng)度的字段使用ntohs()或ntohl()轉(zhuǎn)化為主機(jī)字節(jié)序列后再做后續(xù)處理;對(duì)于長(zhǎng)度小于8位的字段(如標(biāo)志位或子字段)可以通過(guò)結(jié)構(gòu)體中定義位域存取。 圖7 ICMP報(bào)文結(jié)構(gòu)圖8 TCP報(bào)文結(jié)構(gòu)
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1