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

正文內(nèi)容

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

2024-10-01 09:17 本頁面
 

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