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

正文內(nèi)容

基于tcpip的協(xié)議分析器設(shè)計畢業(yè)論文(文件)

2025-09-15 14:13 上一頁面

下一頁面
 

【正文】 .............. 30 致謝 ...................................................................................................................... 錯誤 !未定義書簽。但是,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展更新,相關(guān)的網(wǎng)絡(luò)問題也凸顯出來。 網(wǎng) 絡(luò)分析是一把雙刃劍。最原始的,應(yīng)該是 TCP/IP 協(xié)議的層次結(jié)構(gòu)分析,包括各層所使用的網(wǎng)絡(luò)協(xié)議,各層次之間的聯(lián)系以及數(shù)據(jù)包在協(xié)議棧中的傳輸過程。所以在 1980 年, James Anderson 先生首先肯定網(wǎng)絡(luò)入侵可以被檢測,并對此作了詳細的說明;他將具有入侵性質(zhì)的網(wǎng)絡(luò)行為分為三種,分別是外部滲透行為、內(nèi)部滲透行為和不法行為,并且他還提出可以利用審計跟蹤的方法抓根源,也從此揭開了入侵檢測的研究序幕 [2]]。 . 本文研究內(nèi)容 本課題研究設(shè)計以 TCP/IP為基礎(chǔ)的協(xié)議分析器。 winpcap開源包 的優(yōu)點在于它有強大的捕獲網(wǎng)絡(luò)數(shù)據(jù)包的功能 , 它能夠 利用底層驅(qū)動實現(xiàn)對 本 機 數(shù)據(jù)鏈路層 的訪問,并可監(jiān)測 所有數(shù)據(jù)包 的傳輸 , 而且,winpcap可以實時處理這些數(shù)據(jù)包,只需系統(tǒng)有下達相關(guān)的要求 即 可 。而且,這章還介紹了用于 網(wǎng)絡(luò)開發(fā)的函數(shù)庫,并深入介紹 winpcap 的相關(guān)知識,其中特別闡述了 winpcap 開源包的主要功能模塊、主要函數(shù)等。也闡述了程序性能方面可實現(xiàn)的改進。 表 21 網(wǎng)卡的工作模式 網(wǎng)卡模式 說明 廣播模式 網(wǎng)卡能夠接收網(wǎng)絡(luò)中所有以 0xffffffffffff 作為目的物 理地址的廣播幀。 混雜模式 網(wǎng)卡能夠接收所有 流過本機網(wǎng)卡的數(shù)據(jù)包 , 不管該數(shù)據(jù) 是 傳給 誰的。 共享式的網(wǎng)絡(luò)數(shù)據(jù)捕獲 從上 面介紹的網(wǎng)卡模式可知,主機的網(wǎng)卡一般只接收發(fā)給自己的數(shù)據(jù)包,所以在網(wǎng)絡(luò)通信中,主機中的套接字程序只會對那些與本機的硬件地址相匹配的數(shù)據(jù)幀,還有那些在以太網(wǎng)中廣播的數(shù)據(jù)幀產(chǎn)生響應(yīng) [7];如果網(wǎng)卡在混雜模式下工作,那么本機就會對流經(jīng)本本機的每個數(shù)據(jù)報文產(chǎn)生中斷,以響應(yīng)數(shù)據(jù)包。 交換式的網(wǎng)絡(luò)數(shù)據(jù)捕獲 交換環(huán)境下的以太網(wǎng) 其實就是 使用交換機來連接各網(wǎng)絡(luò)結(jié)點 的網(wǎng)絡(luò) 。即使說 主機的網(wǎng)卡工作在混雜模式 ,其結(jié)果也是一樣。這樣一來,不僅使網(wǎng) 絡(luò)安全程序的開發(fā)過程簡化,而且也提高了程序的性能與穩(wěn)定性。 本開發(fā)包的捕獲引擎 有三個主要組成部分:最底層是在不同操作系統(tǒng)中具有差異性的設(shè)備驅(qū)動程序,高層的則是與用戶程序相連接的接口,第三部分是實現(xiàn)數(shù)據(jù)包的過濾 錯誤 !未找到引用源。網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫winpcap 便是如此,本次設(shè)計主要調(diào)用 winpcap 開源庫 。 本系統(tǒng)與 winpcap 的依賴關(guān)系如圖 21所示。數(shù)據(jù)包的捕獲過程依賴于下列兩個組件 [6]: 1) 數(shù)據(jù)包過濾器 數(shù)據(jù)包過濾器決定是否將到來的數(shù)據(jù)包接收并復(fù)制到一個應(yīng)用程序中。 2) 環(huán)形緩沖區(qū) 為避免數(shù)據(jù)包的丟失, NPF 使用一個環(huán)形緩沖區(qū)用來保存 捕獲到的 數(shù)據(jù)包。 2. 動態(tài)鏈接庫模塊 是一個動態(tài)鏈接庫,并提供了一些低層的函數(shù),用來實現(xiàn)以下功能: 基于 TCP/IP 的協(xié)議分析器設(shè)計 7 ? 安 裝、 啟動、設(shè)置和停止 NPF 設(shè)備驅(qū)動程序; ? 設(shè)置 NPF 驅(qū)動程序 實現(xiàn)數(shù)據(jù)包的 發(fā)送和接收; ? 獲取已連接 的網(wǎng)絡(luò)適配器列表; ? 獲取適配器的不同列表的所有地址信息; ? 查詢 /設(shè)置一個低層的適配器參數(shù)。它 是一個包含了公共 winpcap API的動態(tài)鏈接庫,它輸出了一組依賴于系統(tǒng) 、 用來捕獲和分析網(wǎng)絡(luò)流量的函數(shù) , 但是它的調(diào)用不依賴于操作系統(tǒng),它提供了更加高層的、抽象的函數(shù)。一般情況下, 能自動調(diào)用 的函數(shù),所以程序員可以直接使用 動態(tài)鏈接庫的函數(shù)。獲得本機的網(wǎng)絡(luò)接口。 5) pcap_next_ex;用于從一個網(wǎng)絡(luò)適配器設(shè)備或從一個脫機文件中讀取一個數(shù)據(jù)包。在 TCP/IP 協(xié)議棧中,駐留有兩個不同的協(xié)議,即無連接的 UDP 和面向連接的 TCP 協(xié)議 [12], TCP/IP 并不完全符合 OSI 的七層協(xié)議體體系結(jié)構(gòu)。在因特網(wǎng)中的應(yīng)用層協(xié)議很多,幾乎各種不同的 TCP/IP 實現(xiàn)都會提供下面這些通用的應(yīng)用程序: ? Tel 遠程登錄。 2) 運輸層的任務(wù)即使負責(zé)向兩個主機上的應(yīng)用程序提供端到端的通信。 4) 網(wǎng)絡(luò)接口層通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機中對應(yīng)的網(wǎng)絡(luò)接口卡。協(xié)議棧的每一層對收到的數(shù)據(jù)報都要進行再處理,主要是增加所在層的首部信息(有時還要增加尾部信息),直到數(shù)據(jù)轉(zhuǎn)化為一串二進制比特流送入網(wǎng)絡(luò),這個過程稱為數(shù)據(jù)的封裝 [14]。而 IP 數(shù)據(jù)報需要在以太網(wǎng)上傳輸,所以要將其封裝成以太網(wǎng)幀,通過以太網(wǎng)傳輸?shù)谋忍亓骶涂梢酝ㄟ^物理介質(zhì)發(fā)送數(shù)據(jù)了。圖 33 顯示了該過程是如何發(fā)生的。由于 標準規(guī)定的類型字段的有效值均大于 數(shù)據(jù)的最大長度 1500,所以,可以根據(jù)這個來判斷接收到的以太網(wǎng)幀是否為常用的 RFC894 的封裝格式。ARP的格式如圖 35 所示。 該標識 存儲在 IP 數(shù)據(jù)結(jié)構(gòu)的協(xié)議 域,分別是用數(shù)值 1 表示 ICMP 協(xié)議, 數(shù)值 2 表示 IGMP 協(xié)議, 數(shù)值 6 表示 TCP協(xié)議, 數(shù)值 17 表示 UDP 協(xié)議。這 是計算機為確保數(shù)據(jù)的正確到達而采取的措施。 ? ACK:確認序號有效。 ? FIN:發(fā)端完成發(fā)送任務(wù)。我們可以通過端口號來判斷應(yīng)用層的協(xié)議類型。開始行主要用于區(qū)分是請求報文還是響應(yīng)報文。 方 法U R L版 本C R L F? ? ? ? ?C R L F:值實 體 主 體 ( 通 常 不 用 )首 部 字 段 名C R L F:值首 部 字 段 名C R L F請 求 行 圖 310 HTTP 的請求報文結(jié)構(gòu) 版 本 狀 態(tài) 碼 短 語C R L F? ? ? ? ?C R L F:值實 體 主 體 ( 有 些 響 應(yīng) 報 文 不 用 )首 部 字 段 名C R L F:值首 部 字 段 名C R L F狀 態(tài) 行 圖 311 HTTP 的響應(yīng)報文結(jié)構(gòu) 基于 TCP/IP 的協(xié)議分析器設(shè)計 15 表 33 HTTP 請求報文的一些方法 7) FTP 文件傳輸命令 FTP 采用一系列簡單的協(xié)議來完成文件傳輸?shù)母鞣N任務(wù),在發(fā)送命令時總是在命令的最后加上一個回車換行符。 PWD 在應(yīng)答中將當前的工作目錄的名稱返回。 PASS 向遠程系統(tǒng)發(fā)送用戶的密碼,該命令在 USER 后使用。用戶只要在程序界面中完成一些有目的的數(shù)據(jù)分析工作即可。其中,數(shù)據(jù)包具體的捕獲過程如圖 312 所示。 pcap_findalldevs_ex()就是這樣一個 函數(shù) ,它 返回一個 pcap_if 結(jié)構(gòu)的鏈表,其數(shù)據(jù)結(jié)構(gòu)類型如下所示: struct pcap_if { struct pcap_if *next。 bpf_u_int32 flags。部分程序如下所示, ifprint 函數(shù)用于打印網(wǎng)卡信息。 } // 輸出網(wǎng)卡信息 for (i=0, d=alldevs。 return 1。其結(jié)構(gòu)如下所示: Struct pcap_addr { Struct pcap_addr *next。 Struct sockaddr *dstaddr。部分程序如下所示: 打開網(wǎng)卡準備捕獲數(shù)據(jù)包 庫為打開與關(guān)閉網(wǎng)絡(luò)適配器提供了下列函數(shù) : pcap_open 函數(shù)用于打開一個通用的數(shù)據(jù)捕獲源(包括本地主句、遠程主機、文件三種類型),以便進行捕獲或發(fā)送操作。大多數(shù)用于數(shù)據(jù)捕獲的應(yīng)用程序都會將適配器設(shè)置成混雜模式。 return 1。 而且這種功能直接源自 BSD Packet Filter,簡稱 BPF。 winpcap 的過濾器是以符合標準語法的語句為基礎(chǔ),它包含一個過濾表達式。包括 IP 協(xié)議, ARP 協(xié)議等。若只想捕獲基于 IP 協(xié)議的數(shù)據(jù)報,可編寫過濾表達式 char packet_filter[]=“ IP” 。 Break。 Break。 } 其中, packet_filter 是回調(diào)函數(shù) packet_handle()中的一個參數(shù),用于寫入過濾表達式。打 開適配器后,就可以對數(shù)據(jù)包進行捕獲了。 pcap_loop 函數(shù)的原型如下: int pcap_loop (pcap_t *p, int t, pcap_handle callback, u_char *user) 其中,參數(shù) t 表示讀取的數(shù)據(jù)包的個數(shù)到達 t 個時,函數(shù)將返回。在這種情況下, 使用非回調(diào)函數(shù) pcap_next_ex 會更好一些。所以對于數(shù)據(jù)包的解析,就要以 TCP/IP 協(xié)議簇 為基礎(chǔ),從數(shù)據(jù)鏈路層開始由下至上層層解析。 開 始 解 析計 算 數(shù) 據(jù) 幀 的 類 型 值A(chǔ) R P 協(xié) 議解 析R A R P 協(xié) 議 I P v 6 協(xié) 議 I P 協(xié) 議 解 析0 x 0 8 0 6 0 x 8 0 3 5 0 x 8 6 d d 0 x 0 8 0 0檢 測 上 一 層 協(xié) 議 類 型I C M P 協(xié) 議解 析I G M P協(xié) 議T C P 協(xié) 議解 析U D P 協(xié) 議解 析類 型 值 = 1 類 型 值 = 2 類 型 值 = 6類 型 值 = 1 7檢 測 端 口 號F T P 協(xié) 議分 析D N S 協(xié) 議 S M T P 協(xié) 議H T T P 協(xié) 議分 析端 口 號 = 2 1端 口 號 = 5 3 端 口 號 = 2 5 端 口 號 = 8 0解 析 以 太 網(wǎng) 幀判 斷 以 太 網(wǎng) 幀 格 式E t h e r n e t V 2 . 0 圖 313 協(xié)議解析流程 在該解析過程中,要注意一些數(shù)據(jù)結(jié)構(gòu)體的定義,本系統(tǒng)中要分析的協(xié)議的數(shù)據(jù)報結(jié)構(gòu)體定義要求對于結(jié)構(gòu)體中的成員數(shù)據(jù)類型要定義到位。 數(shù)據(jù)包裝成以太網(wǎng)幀之后就通過本地端口傳輸出去,而且基于 TCP 協(xié)議類型的 包與基于 UDP 協(xié)議的 包在格式上存在差異。 圖 314 客戶端的登錄設(shè)置界面基于 TCP/IP 的協(xié)議分析器設(shè)計 22 第四章 程序的實現(xiàn) Winpcap 的安裝使用方法 1) 下載 Winpcap 驅(qū)動程序安裝包和程序員開發(fā)包 winpcap develop’s packet。 ? 如果程序中使用了 winpcap 的遠程捕獲功能,那么在預(yù)處理中必須加入HAVE_REMOTE。這些文件分布于 C 的編譯器,并且包含了 Windows 的一些 socket 函數(shù)。 而且,本次設(shè)計需要在已創(chuàng)建的工作空間中添加新庫,所以必須打開 工程 菜單項,選擇 設(shè)置中的 連接選項卡,把新庫的名字添加到 對象 /庫模塊中 。 圖 41 本機網(wǎng)卡信息 圖中顯示的本機所有已連接網(wǎng)卡的詳細信息,看起來非常直觀。如果想捕獲基于 IP 協(xié)議的數(shù)據(jù)包,即可選擇 IP 選項,如圖 42 所示。也就是說,在捕獲數(shù)據(jù)包時,系統(tǒng)會受到銳捷軟件的影響,從而降低了系統(tǒng)捕獲數(shù)據(jù)包的實時性。測試如下: 10:59 分,本機訪問圖書館網(wǎng)站主頁,如圖 43 所 示,網(wǎng)頁地址為 10:59 分,精確到毫秒捕獲到 HTTP 請求報文,并解包分析,結(jié)果如圖 44 所示。圖 46 顯示的本機在 13:17 分以匿名形式登錄校園 FTP 服務(wù)網(wǎng)站,站點地址為 用戶進程 向遠程 FTP服務(wù)器發(fā)送用戶名及登錄密碼。 圖 46 登錄校園 ftp 服務(wù)器的網(wǎng)頁 基于 TCP/IP 的協(xié)議分析器設(shè)計 26 圖 47 FTP 的分析結(jié)果 圖 48 訪問遠程 FTP 系統(tǒng)的網(wǎng)頁 圖 49 本機向遠程 FTP 服務(wù)器發(fā)送命令 基于 TCP/IP 的協(xié)議分析器設(shè)計 27 而對于 數(shù)據(jù)包,本系統(tǒng)程序主要是通過端口號來判斷 數(shù)據(jù)包。 圖 411 UDP 數(shù)據(jù)包的判斷分析 對 ICMP 協(xié)議的 分析 結(jié)合了 ICMP 的一個重要應(yīng)用就是分組網(wǎng)間探測 PING,用來測試兩個主機之間的連通性 。 基于 TCP/IP 的協(xié)議分析器設(shè)計 28 圖 412 ping 操作測試連通性的結(jié)果 圖 413 對 ICMP 報文 的分析結(jié)果 網(wǎng)絡(luò)中的每個主機都設(shè)有一個 ARP 高速緩存,里面有本局域網(wǎng)上的 每 個主機和路由器的 IP 地址到硬件地址的映射表,如果說映射表中沒有需要的信息,那么本機就會在網(wǎng)絡(luò)中廣播發(fā)送 ARP 請求信息以獲取對方的硬件地址。 還可以對程序做以下調(diào)整: 1) 調(diào)整 使用 pcap_next_ex()函數(shù),這個函數(shù)只有 被調(diào)用了 才會開始捕獲數(shù)據(jù)包,在一定程度上改善網(wǎng)絡(luò)。 3) 設(shè)置嚴格的過濾條件,比如可以設(shè)置基于 IP 地址捕獲范圍等。而基于Windows 平臺的 winpcap 函數(shù)庫以完成底層的功能驅(qū)動為基礎(chǔ),簡化了編程者實現(xiàn)數(shù)據(jù)包的捕獲和協(xié)議的分析工作難度。 對于 Win32 平臺來說, winpcap 確實是一個非常便捷的網(wǎng)絡(luò)編程工具,但是, winpcap有不同的版本,在。如此一來,不僅可以實現(xiàn)網(wǎng)絡(luò)的管理和維護,還 可以防止網(wǎng)絡(luò)遭到非法入侵和破壞。而且,以太網(wǎng)是一種傳輸
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1