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

正文內(nèi)容

網(wǎng)絡(luò)抓包與協(xié)議分析軟件的設(shè)計與開發(fā)畢業(yè)設(shè)計論文(編輯修改稿)

2025-06-23 23:15 本頁面
 

【文章內(nèi)容簡介】 版本在用戶態(tài)和內(nèi)核態(tài)之間提供互不相同的接口,提供一個與系統(tǒng)無關(guān)的API。、動態(tài)驅(qū)動器加載以及獲得主機(jī)掩碼及以太網(wǎng)沖突次數(shù)等低級操作。3)高級動態(tài)鏈接庫。它提供了一組功能強(qiáng)大且跨平臺的函數(shù),利用這些函數(shù)可以不去關(guān)心適配器和操作系統(tǒng)的類型。、定義用戶級緩沖以及包注入等高級功能。,這樣功能更強(qiáng),使用也更為方便。,并且可能被轉(zhuǎn)換成若干個NPF系統(tǒng)調(diào)用。 WinPcap的主要函數(shù)庫Winpcap函數(shù)庫主要有如下函數(shù):1)int pcap_findalldevs (pcap_if_t **,char *)用來獲得網(wǎng)卡的列表2)void pcap_freealldevs (pcap_if_t *) 與int pcap_findalldevs (pcap_if_t **,char *)配套使用,當(dāng)不需要網(wǎng)卡列表時,用此函數(shù)釋放空間3)pcap_t *pcap_open_live(const char *, int, int, int, char *)用來得到一個包抓取得描述符4)Int pcap_loop(pcap_t *, int, pcap_handler, u_char *)捕獲數(shù)據(jù)包,不會響應(yīng)pcap_open_live()中設(shè)置的超時時間5)int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *)捕獲數(shù)據(jù)包??梢圆槐蛔枞?)int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **)捕獲數(shù)據(jù)包7)int pcap_pile(pcap_t *, struct bpf_program *, const char *, int, bpf_u_int32)編譯一個過濾設(shè)備,與pcap _ setfilter () 配合使用8)int pcap_setfilter(pcap_t *, struct bpf_program *)用來聯(lián)系一個在內(nèi)核驅(qū)動上過濾的過濾器,這時所有網(wǎng)絡(luò)數(shù)據(jù)包都將流經(jīng)過濾器,并拷貝到應(yīng)用程序中 3 系統(tǒng)設(shè)計 捕獲數(shù)據(jù)的分析與還原對捕獲數(shù)據(jù)的解析,其主要依據(jù)是網(wǎng)絡(luò)協(xié)議中定義的各種包的類型和包的格式,下面依次對這些數(shù)據(jù)的格式與協(xié)議進(jìn)行介紹與分析。 根據(jù)TCP/IP協(xié)議,機(jī)器接收到一個以太網(wǎng)數(shù)據(jù)包時,數(shù)據(jù)從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部,每層協(xié)議都要檢查報文首部的協(xié)議表示,以確定數(shù)據(jù)的上層協(xié)議。根據(jù)以太網(wǎng)數(shù)據(jù)鏈路層的幀格式,網(wǎng)絡(luò)適配器的驅(qū)動程序會自動計算校驗和,并取走幀中的前同步碼和校驗和字段,因此WinPcap 接收的數(shù)據(jù)包僅僅是其中的幀頭和載荷部分,即捕獲到的是幀結(jié)構(gòu)中的“目標(biāo)MAC地址”、“源MAC地址”、“幀類型”、“幀中數(shù)據(jù)”這四部分。在這種情況下,要實現(xiàn)對數(shù)據(jù)幀的還原,只需要將捕獲的數(shù)據(jù)幀的前12個字節(jié)分別轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù),就可以清楚地看到MAC地址,并通過對比本機(jī)的MAC地址,還可以初步判斷出該數(shù)據(jù)幀是本機(jī)發(fā)送的或是接收到的。 IP報文的分析與還原首先來看下IP數(shù)據(jù)報格式[8],如圖31所示:圖31 IP數(shù)據(jù)報格式版本:4位,標(biāo)識IP版本號。目前有IPvIPv6。我們目前所用的IP協(xié)議基本都是IPv4版本。首部長度:4位,度指的是首部占32bit字的數(shù)目,包括任何選項。由圖31可知首部所占字節(jié)數(shù)為(4+4+8+16+16+3+13+8+8+16+32+32+0)=160bit,正好是32bit的5倍,所以首部長度最小為5。如果選項字段有其它數(shù)據(jù),則這個值會大于5。由上面也可知IP首部最小長度為20字節(jié),最大長度為(2的4次方1)*32/8=60字節(jié)。服務(wù)類型:8位,其中:優(yōu)先權(quán):3位,設(shè)置了數(shù)據(jù)包的重要性,取值越大數(shù)據(jù)越重要,取值范圍為:0(正常)7(網(wǎng)絡(luò)控制)。TOS:4位,分別表示最小延時、最大吞吐量、最高可靠性、最小費用。如果4位TOS子字段均為0,那么就意味著是一般服務(wù)。未使用:1位,必須置0??傞L度:16位,總長度指首部和數(shù)據(jù)之和的長度,以字節(jié)為單位。利用首部長度字段和總長度字段,就可以知道I P數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。由于該字段長16比特,所以IP數(shù)據(jù)報最長可達(dá)65535字節(jié)。標(biāo)識:16位,唯一地標(biāo)識主機(jī)發(fā)送的每一份數(shù)據(jù)報。通常每發(fā)送一份報文它的值就會加1。IP軟件在存儲器中維持一個計數(shù)器,每產(chǎn)生一個數(shù)據(jù)報,計數(shù)器就加1,并將此值賦給標(biāo)識字段。但這個“標(biāo)識”并不是序號,因為IP是無連接服務(wù),數(shù)據(jù)報不存在按序接收的問題。當(dāng)數(shù)據(jù)報由于長度超過網(wǎng)絡(luò)的MTU而必須分片時,這個標(biāo)識字段的值就被復(fù)制到所有的數(shù)據(jù)報的標(biāo)識字段中。相同的標(biāo)識字段的值使分片后的各數(shù)據(jù)報片最后能正確地重裝成為原來的數(shù)據(jù)報。在分片和重組技術(shù)中將會用到。標(biāo)志:3位,但目前只有2位有意義。標(biāo)志字段中的最低位記為MF(More Fragment)。MF=1即表示后面“還有分片”的數(shù)據(jù)報;MF=0表示這已是若干數(shù)據(jù)報片中的最后一個。標(biāo)志字段中間的一位記為DF(Don39。t Fragment),意思是“不能分片”。只有當(dāng)DF=0時才允許分片,具體定義如下:1) 保留位: 1位 ;2) DF字段:1位,取值:0(允許數(shù)據(jù)報分段)、1(數(shù)據(jù)報不能分段);3) MF字段:1位,取值:0(數(shù)據(jù)包后面沒有包,該包為最后的包)、1(數(shù)據(jù)包后面有更多的包)。片偏移:13位。片偏移指出:較長的分組在分片后,某片在原分組中的相對位置,也就是說,相對用戶數(shù)據(jù)字段的起點,該片從何處開始。片偏移以8個字節(jié)為偏移單位,這就是說,每個分片的長度一定是8字節(jié)(64位)的整數(shù)倍。生存時間:8位,生存時間字段常用的的英文縮寫是TTL(Time To Live),表明是數(shù)據(jù)報在網(wǎng)絡(luò)中的壽命。由發(fā)出數(shù)據(jù)報的源點設(shè)置這個字段,其目的是防止無法交付的數(shù)據(jù)報無限制地在因特網(wǎng)中兜圈子,因而白白消耗網(wǎng)絡(luò)資源。最初的設(shè)計是以秒作為TTL的單位。每經(jīng)過一個路由器時,就把TTL減去數(shù)據(jù)報在路由器消耗掉的一段時間。若數(shù)據(jù)報在路由器消耗的時間小于1秒,就把TTL值減1。當(dāng)TTL值為0時,就丟棄這個數(shù)據(jù)報。一般可以理解為經(jīng)過路由器的最大數(shù)目。協(xié)議:8位。協(xié)議字段指出此數(shù)據(jù)報攜帶的數(shù)據(jù)是使用何種協(xié)議(上層協(xié)議),以便使目的主機(jī)的IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個處理過程。協(xié)議可包括TCP、UDP、TELNET等,1=ICMP,6=TCP,17=UDP。首部校驗和:16位,首部檢驗和字段是根據(jù)IP首部計算的檢驗和碼,它不對首部后面的數(shù)據(jù)進(jìn)行計算。ICMP,UDP,TCP在它們各自的首部中均含有同時覆蓋首部和數(shù)據(jù)檢驗和碼。為了計算一份數(shù)據(jù)報的IP檢驗和,首先把檢驗和字段置為0,然后對首部中每個16bit進(jìn)行二進(jìn)制反碼求和(整個首部看成是由一串16 bit的字組成),結(jié)果存在檢驗和字段中。當(dāng)收到一份IP數(shù)據(jù)報后,同樣對首部中每個16 bit進(jìn)行二進(jìn)制反碼的求和。由于接收方在計算過程中包含了發(fā)送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應(yīng)該為全1,如果結(jié)果不是全1(即檢驗和錯誤),那么IP就丟棄收到的數(shù)據(jù)報,但是不生成差錯報文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報并進(jìn)行重傳。源IP地址:32位,發(fā)送IP的主機(jī)地址。目的IP地址:32位,數(shù)據(jù)發(fā)往的IP主機(jī)地址。 UDP數(shù)據(jù)包的封裝UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議[8],進(jìn)程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的IP數(shù)據(jù)報。UDP數(shù)據(jù)報格式有首部和數(shù)據(jù)兩個部分,如圖32:圖32 UDP數(shù)據(jù)報格式首部很簡單,共8字節(jié),如圖33:圖33 UDP首部包括:源端口(Source Port):2字節(jié),源端口號。目的端口(Destination Port ):2字節(jié),目的端口號。長度(Length):2字節(jié),UDP用戶數(shù)據(jù)報的總長度,以字節(jié)為單位。檢驗和(Checksum):2字節(jié),用于校驗UDP數(shù)據(jù)報的數(shù)字段和包含UDP數(shù)據(jù)報首部的“偽首部”。盡管UDP校驗和的基本計算方法與IP首部校驗和的計算方法類似(16bit字的二進(jìn)制反碼和),但是它們之間存在不同的地方,UDP數(shù)據(jù)報長度可以為奇數(shù)字節(jié),但是校驗和的算法是把若干個16bit字相加。解決方法是必要時在最后增加填充字節(jié)0,這只是為了校驗和的計算(也就是說,可能增加的填充字節(jié)不被傳送)。UDP數(shù)據(jù)報和TCP段都包含一個12字節(jié)長的偽首部,它是為了計算校驗和而設(shè)置的。偽首部包含IP首部一些字段,其目的是讓UDP兩次檢查數(shù)據(jù)是否已經(jīng)正確到達(dá)目的地(例如,IP有沒有接受地址不是本主機(jī)的數(shù)據(jù)報,以及IP有沒有把應(yīng)傳給另一高層的數(shù)據(jù)報傳送給UDP)。UDP數(shù)據(jù)報中的偽首部格式如圖34所示:圖34 UDP數(shù)據(jù)報的偽首部格式 TCP數(shù)據(jù)包的封裝TCP數(shù)據(jù)被封裝在一個IP數(shù)據(jù)報中[8],如圖35所示:圖35 TCP數(shù)據(jù)在IP數(shù)據(jù)報中的封裝圖36顯示TCP首部的數(shù)據(jù)格式。如果不計任選字段,它通常是20個字節(jié)。圖36 TCP包首部 ICMP數(shù)據(jù)包的封裝IP協(xié)議提供的是面向無連接的服務(wù),不存在關(guān)于網(wǎng)絡(luò)連接的建立和維護(hù)過程,也不包括流量控制與差錯控制功能,但需要對網(wǎng)絡(luò)的狀態(tài)有一些了解,因此在網(wǎng)際層提供了因特網(wǎng)控制消息協(xié)議(Internet control messa
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1