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

正文內(nèi)容

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

2024-10-01 09:17 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 接口的用戶級(jí)的抓包庫(kù) ,它為底層網(wǎng)絡(luò)監(jiān)聽(tīng)提供了可移植框架。它的應(yīng)用包括網(wǎng)絡(luò)統(tǒng)計(jì)集合 ,安全監(jiān)聽(tīng) ,網(wǎng)絡(luò)調(diào)試等。 WinPcap WinPcap[5]是 LibPcap 的 Windows 版本 ,它是一個(gè)基于 Win32 的捕獲數(shù)據(jù)包和網(wǎng)絡(luò)分析的體系結(jié)構(gòu) ,它包括一個(gè)內(nèi)核級(jí)的包過(guò)濾器 ,一個(gè)底層的動(dòng)態(tài)鏈接庫(kù)( ) ,一個(gè)高層并且與系統(tǒng)無(wú)關(guān)的庫(kù)( ,基于 版本)。 WinPcap 是集成于 Windows95,98,ME,NT,2020和 XP操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序 ,它可以從網(wǎng)卡捕獲或者發(fā)送原始數(shù)據(jù) ,同時(shí)能夠過(guò)濾并且倉(cāng)儲(chǔ)數(shù)據(jù)包。開(kāi)發(fā) WinPcap 這個(gè)項(xiàng)目的目的在于為Win32 應(yīng)用程序提供訪問(wèn)網(wǎng)絡(luò)底層的能力。它提供以下四項(xiàng)功能: 1) 捕獲原始數(shù)據(jù)報(bào) ,包括共享網(wǎng)絡(luò)上各主機(jī)發(fā)送 /接收的以及相互之間交換的數(shù)據(jù) 6 報(bào); 2) 在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過(guò)濾掉; 3) 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào); 4) 收集網(wǎng)絡(luò)通信過(guò)程中的統(tǒng)計(jì)信息。 JPcap JPcap[6]是一個(gè)能夠捕獲,發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包的 Java 類庫(kù)包。這個(gè)包用到了 LibPcap和原始套接字 API。目前 JPcap 在 FreeBSD , Linux RedHat , Solaris 和 Microsoft Windows 2020/XP 系統(tǒng)上已經(jīng)做過(guò)測(cè)試,并且支持 Ether, IPv4, IPv6, ARP/RARP,TCP, UDP, ICMPv4 協(xié)議。 JPcap 是一個(gè) Java 類集合,它為網(wǎng)絡(luò)數(shù)據(jù)包的捕獲提供接口和系統(tǒng)支持。最初版本是 2020 年 6 月發(fā)布的 版,此后幾經(jīng)修改,到現(xiàn)在最新的 版。 WinPcap 研究 WinPcap 是 windows 平臺(tái)下一個(gè)免費(fèi)、公共的網(wǎng)絡(luò)訪問(wèn)系統(tǒng),是為 Linux 下的Libpcap 移植到 Windows 平臺(tái)下實(shí)現(xiàn)數(shù)據(jù)包捕獲而設(shè)計(jì)的函數(shù)庫(kù),在設(shè)計(jì) WinPcap 時(shí)參照了 Libpcap,使用方法也與 Libpcap 相似,基于 Libpcap 的程序可以很容易的移植到Windows 平臺(tái)下。這個(gè)數(shù)據(jù)包捕獲架構(gòu)是由加州大學(xué)和 Lawrence Berkeley 實(shí)驗(yàn)室及其投稿者聯(lián)合開(kāi)發(fā)的,他們?cè)?1999 年 3月 31日推出了 版,提供了用戶級(jí) BPF 過(guò)濾;1999 年 8 月 21 日推出了 版,將 BPF 過(guò)濾增加到內(nèi)核中并增加了內(nèi)核緩存; 2020年 3月 15 日推出了 版,該版對(duì) libpcap 進(jìn)行了升級(jí),并可支持更多的網(wǎng)絡(luò)類型; 2020 年 1月 30日推出了 2. 2版; 2020 年 3月 28 日推出了 2. 3 版; 2020 年 1 月lO 日推出了 3. O 版,增加了 NPF 設(shè)備驅(qū)動(dòng)的一些新的特性及優(yōu)化方案,在 中增加了一些函數(shù)等等功能。 WinPcap 的最新版本是 。 WinPcap 的官方主頁(yè)是,可以在其主頁(yè)上下載這個(gè)軟件及其源代碼,更重要 的是,網(wǎng)站上還有很多開(kāi)發(fā)文檔,對(duì)于利用 WinPcap 作為工具開(kāi)發(fā)網(wǎng)絡(luò)安全軟件的編程人員有很大幫助。 WinPcap 提供了四項(xiàng)功能: 1)捕獲原始數(shù)據(jù)報(bào),包括共享網(wǎng)絡(luò)上各主機(jī)發(fā)送 /接收的以及相互之間交換的數(shù)據(jù)報(bào); 7 2)在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過(guò)濾掉; 3)在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào); 4)收集網(wǎng)絡(luò)通信過(guò)程中的統(tǒng)計(jì)信息。 WinPcap 的主要功能在于獨(dú)立于主機(jī)協(xié)議(如 TCP/IP)而發(fā)送和接收原始數(shù)據(jù)包,也就是說(shuō), WinPcap 不能阻塞,過(guò)濾或控制其他應(yīng)用程序數(shù)據(jù)包的發(fā)收,它僅 僅只是監(jiān)聽(tīng)共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)包。因此,它不能用于 QoS 調(diào)度程序或個(gè)人防火墻。目前,WinPcap 開(kāi)發(fā)的主要對(duì)象是 windows NT/2020/XP,這主要是因?yàn)樵谑褂?WinPcap 的用戶中只有一小部分是僅使用 Windows 95/98/Me,并且微軟也已經(jīng)放棄了對(duì) win9x 的開(kāi)發(fā)。有個(gè)軟件叫 sniffer pro 可以作網(wǎng)管軟件用,有很多功能,可監(jiān)視網(wǎng)絡(luò)運(yùn)行情況,每臺(tái)網(wǎng)內(nèi)機(jī)器的數(shù)據(jù)流量,實(shí)時(shí)反映每臺(tái)機(jī)器所訪問(wèn) IP 以及它們之間的數(shù)據(jù)流通情況,可以抓包,可對(duì)過(guò)濾器進(jìn)行設(shè)置,以便只抓取想要的包,比如 POP3 包, smtp 包, ftp包等,并可從中找到郵箱用戶名和密碼,還有 ftp 用戶名和密碼。它還可以在使用交換機(jī)的網(wǎng)絡(luò)上監(jiān)聽(tīng),不過(guò)要在交換機(jī)上裝它的一個(gè)軟件。還有一個(gè)簡(jiǎn)單的監(jiān)聽(tīng)軟件叫Passwordsniffer,可截獲郵箱用戶名和密碼,還有 ftp 用戶名和密碼,它只能用在 HUB網(wǎng)絡(luò)上。著名軟件 tcpdump 及 ids snort 都是基于 libpcap 編寫(xiě)的,此外 Nmap 掃描器也是基于 libpcap 來(lái)捕獲目標(biāo)主機(jī)返回的數(shù)據(jù)包的。 WinPcap 提供給用戶兩個(gè)不同級(jí)別的編程接口:一個(gè)基于 libpcap 的 ,另一 個(gè)是較底層的 。對(duì)于一般的要與 unix 平臺(tái)上 libpcap 兼容的開(kāi)發(fā)來(lái)說(shuō),使用 是當(dāng)然的選擇。 WinPcap 內(nèi)部結(jié)構(gòu) Winpcap 是針對(duì) Win32 平臺(tái)上的抓包和網(wǎng)絡(luò)分析的一個(gè)架構(gòu),它由內(nèi)核級(jí)的網(wǎng)絡(luò)組包過(guò)濾器( Netgroup Packet Filter, NPF)、用戶級(jí)的動(dòng)態(tài)鏈接庫(kù) 和 等 3個(gè)模塊組成 [7]。 1) 網(wǎng)絡(luò)組包過(guò)濾器。它是運(yùn)行于操作系統(tǒng)內(nèi)核中的驅(qū)動(dòng)程序,它直接與網(wǎng)卡驅(qū)動(dòng)程序進(jìn)行交互,獲取在網(wǎng)絡(luò)上傳輸?shù)脑紨?shù)據(jù)包。 NPF與操作系統(tǒng)有關(guān), WinPcap 開(kāi)發(fā)組針對(duì)不同的 Windows 操作系統(tǒng)提供了不同版本的 NPF。在 Win95/98/ME 系統(tǒng)中,它以 VXD 文件形式存在,在 Windows NT 和 Windows 2020 系統(tǒng)中,它以 SYS 文件形式存在。該模塊提供了抓取數(shù)據(jù)包以及發(fā)送數(shù)據(jù)包的基本功能,此外還提供了一些高級(jí)功 8 能,如數(shù)據(jù)包過(guò)濾系統(tǒng)和檢測(cè)引擎。 2) 低級(jí)動(dòng)態(tài)鏈接庫(kù)。 用于在 Win32平臺(tái)上為數(shù)據(jù)包驅(qū)動(dòng)程序提供一個(gè)公共的接口。不同的 Windows 版本在用戶態(tài)和內(nèi)核態(tài)之間提供互不相同的接口,而 可以屏蔽這些接口區(qū)別,提供一個(gè)與系統(tǒng)無(wú)關(guān)的 API?;? 開(kāi)發(fā)的數(shù)據(jù)包截獲程序可以運(yùn)行于不同的 Win32 平臺(tái)而不必重新進(jìn)行編譯。 可以執(zhí)行如獲取適配器名稱、動(dòng)態(tài)驅(qū)動(dòng)器加載以及獲得主機(jī)掩碼及以太網(wǎng)沖突次數(shù)等低級(jí)操作。 3)高級(jí)動(dòng)態(tài)鏈接庫(kù)。 模塊與 Unix 系統(tǒng)下的 BSD 截獲架構(gòu)提供的 Libpcap庫(kù)完全兼容。它提供了一組功能強(qiáng)大且跨平臺(tái)的函數(shù),利用這些函數(shù)可以不去關(guān)心適配器和操作系統(tǒng)的類型。 含有諸如產(chǎn)生過(guò)濾器、定義用戶級(jí)緩沖以及包注入等高級(jí)功能 。編程人員既可以使用包含在 中的低級(jí)函數(shù)直接進(jìn)入內(nèi)核級(jí)調(diào)用,也可以使用由 提供的高級(jí)函數(shù)調(diào)用,這樣功能更強(qiáng),使用也更為方便。 的函數(shù)調(diào)用會(huì)自動(dòng)調(diào)用 中的低級(jí)函數(shù),并且可能被轉(zhuǎn)換成若干個(gè)NPF 系統(tǒng)調(diào)用。 WinPcap 的主要函數(shù)庫(kù) Winpcap 函數(shù)庫(kù)主要有如下函數(shù) : 1) int pcap_findalldevs (pcap_if_t **,char *) 用來(lái)獲得網(wǎng)卡的列表 2) void pcap_freealldevs (pcap_if_t *) 與 int pcap_findalldevs (pcap_if_t **,char *)配套使用 ,當(dāng)不需要網(wǎng)卡列表時(shí) ,用此函數(shù)釋放空間 3) pcap_t *pcap_open_live(const char *, int, int, int, char *) 用來(lái)得到一個(gè)包抓取得描述符 4) Int pcap_loop(pcap_t *, int, pcap_handler, u_char *) 捕獲數(shù)據(jù)包 ,不會(huì)響應(yīng) pcap_open_live()中設(shè)置的超時(shí)時(shí)間 5) int pcap_dispatch(pcap_t *, int, pcap_handler, u_char *) 捕獲數(shù)據(jù)包??梢圆槐蛔枞? 6) int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **) 捕獲數(shù)據(jù)包 9 7) int pcap_pile(pcap_t *, struct bpf_program *, const char *, int, bpf_u_int32) 編譯一個(gè)過(guò)濾設(shè)備,與 pcap _ setfilter () 配合使用 8) int pcap_setfilter(pcap_t *, struct bpf_program *) 用來(lái)聯(lián)系一個(gè)在內(nèi)核驅(qū)動(dòng)上過(guò)濾的過(guò)濾器 ,這時(shí)所有網(wǎng)絡(luò)數(shù)據(jù)包都將流經(jīng)過(guò)濾器,并拷貝到應(yīng)用程序中 10 3 系統(tǒng)設(shè)計(jì) 捕獲數(shù)據(jù)的分析與還原 對(duì)捕獲數(shù)據(jù)的解析,其主要依據(jù)是網(wǎng)絡(luò)協(xié)議中定義的各種包的類型和包的格式,下面依次對(duì)這些數(shù)據(jù)的格式與協(xié)議進(jìn)行介紹與分析。 標(biāo)準(zhǔn)的數(shù)據(jù)幀分析與還原 根據(jù) TCP/IP 協(xié)議,機(jī)器接收到一個(gè)以太網(wǎng)數(shù)據(jù)包時(shí),數(shù)據(jù)從協(xié)議棧中由底向上升,同時(shí)去掉各層協(xié)議加上的報(bào)文 首部,每層協(xié)議都要檢查報(bào)文首部的協(xié)議表示,以確定數(shù)據(jù)的上層協(xié)議。根據(jù)以太網(wǎng)數(shù)據(jù)鏈路層的幀格式,網(wǎng)絡(luò)適配器的驅(qū)動(dòng)程序會(huì)自動(dòng)計(jì)算校驗(yàn)和,并取走幀中的前同步碼和校驗(yàn)和字段,因此 WinPcap 接收的數(shù)據(jù)包僅僅是其中的幀頭和載荷部分,即捕獲到的是幀結(jié)構(gòu)中的“目標(biāo) MAC 地址”、“源 MAC 地址”、“幀類型”、“幀中數(shù)據(jù)”這四部分。在這種情況下,要實(shí)現(xiàn)對(duì)數(shù)據(jù)幀的還原,只需要將捕獲的數(shù)據(jù)幀的前 12 個(gè)字節(jié)分別轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù),就可以清楚地看到 MAC 地址,并通過(guò)對(duì)比本機(jī)的 MAC地址,還可以初步判斷出該數(shù)據(jù)幀是本機(jī)發(fā)送的或是接 收到的。 IP 報(bào)文的分析與還原 首先來(lái)看下 IP數(shù)據(jù)報(bào)格式 [8],如圖 31所示 : 圖 31 IP數(shù)據(jù)報(bào)格式 版本: 4 位,標(biāo)識(shí) IP版本號(hào)。目前有 IPv IPv6。我們目前所用的 IP 協(xié)議基本都是 IPv4 版本。 11 首部長(zhǎng)度: 4 位,度指的是首部占 32bit 字的數(shù)目,包括任何選項(xiàng)。由圖 31可知首部所占字節(jié)數(shù)為( 4+4+8+16+16+3+13+8+8+16+32+32+0)= 160bit,正好是 32bit 的5 倍,所以首部長(zhǎng)度最小為 5。如果選項(xiàng)字段有其它數(shù)據(jù),則這個(gè)值會(huì)大于 5。由上面也可知 IP首部最小 長(zhǎng)度為 20字節(jié),最大長(zhǎng)度為( 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 位,分別表示最小延時(shí)、最大吞吐量、最高可靠性、最小費(fèi)用。如果 4位TOS 子字段均為 0,那么就意味著是一般服務(wù)。 未使用: 1位,必須置 0。 總長(zhǎng)度: 16 位,總長(zhǎng)度指首部和數(shù)據(jù)之和的長(zhǎng)度,以字節(jié)為單位。利用首部長(zhǎng)度字段和總長(zhǎng)度字段,就可以知道 I P 數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長(zhǎng)度。由于該字段長(zhǎng) 16比特,所以 IP數(shù)據(jù)報(bào) 最長(zhǎng)可達(dá) 65535 字節(jié)。 標(biāo)識(shí): 16位,唯一地標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)。通常每發(fā)送一份報(bào)文它的值就會(huì)加 1。 IP 軟件在存儲(chǔ)器中維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器就加 1,并將此值賦給標(biāo)識(shí)字段。但這個(gè)“標(biāo)識(shí)”并不是序號(hào),因?yàn)?IP 是無(wú)連接服務(wù),數(shù)據(jù)報(bào)不存在按序接收的問(wèn)題。當(dāng)數(shù)據(jù)報(bào)由于長(zhǎng)度超過(guò)網(wǎng)絡(luò)的 MTU 而必須分片時(shí),這個(gè)標(biāo)識(shí)字段的值就被復(fù)制到所有的數(shù)據(jù)報(bào)的標(biāo)識(shí)字段中。相同的標(biāo)識(shí)字段的值使分片后的各數(shù)據(jù)報(bào)片最后能正確地重裝成為原來(lái)的數(shù)據(jù)報(bào)。在分片和重組技術(shù)中將會(huì)用到。 標(biāo)志: 3 位,但目前只有 2位有意義。標(biāo)志字 段中的最低位記為 MF( More Fragment)。MF=1 即表示后面“還有分片”的數(shù)據(jù)報(bào); MF=0 表示這已是若干數(shù)據(jù)報(bào)片中的最后一個(gè)。標(biāo)志字段中間的一位記為 DF( Don39。t Fragment),意思是“不能分片”。只有當(dāng) DF=0時(shí)才允許分片,具體定義如下: 1) 保留位: 1位 ; 2) DF 字段: 1位,取值: 0(允許數(shù)據(jù)報(bào)分段)、 1(數(shù)據(jù)報(bào)不能分段); 3) MF 字段: 1位,取值: 0(數(shù)據(jù)包后面沒(méi)有包,該包為最后的包)、 1(數(shù)據(jù)包后面有更多的包)。 片偏移: 13 位。片偏移指出:較長(zhǎng)的分組在分片后,某片在原分組中的相對(duì)位置 ,
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1