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

正文內(nèi)容

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

2024-10-04 14:13上一頁面

下一頁面
  

【正文】 圖 48 訪問遠(yuǎn)程 FTP 系統(tǒng)的網(wǎng)頁 圖 49 本機(jī)向遠(yuǎn)程 FTP 服務(wù)器發(fā)送命令 基于 TCP/IP 的協(xié)議分析器設(shè)計 27 而對于 數(shù)據(jù)包,本系統(tǒng)程序主要是通過端口號來判斷 數(shù)據(jù)包。測試如下: 10:59 分,本機(jī)訪問圖書館網(wǎng)站主頁,如圖 43 所 示,網(wǎng)頁地址為 10:59 分,精確到毫秒捕獲到 HTTP 請求報文,并解包分析,結(jié)果如圖 44 所示。如果想捕獲基于 IP 協(xié)議的數(shù)據(jù)包,即可選擇 IP 選項,如圖 42 所示。 而且,本次設(shè)計需要在已創(chuàng)建的工作空間中添加新庫,所以必須打開 工程 菜單項,選擇 設(shè)置中的 連接選項卡,把新庫的名字添加到 對象 /庫模塊中 。 ? 如果程序中使用了 winpcap 的遠(yuǎn)程捕獲功能,那么在預(yù)處理中必須加入HAVE_REMOTE。 數(shù)據(jù)包裝成以太網(wǎng)幀之后就通過本地端口傳輸出去,而且基于 TCP 協(xié)議類型的 包與基于 UDP 協(xié)議的 包在格式上存在差異。所以對于數(shù)據(jù)包的解析,就要以 TCP/IP 協(xié)議簇 為基礎(chǔ),從數(shù)據(jù)鏈路層開始由下至上層層解析。 pcap_loop 函數(shù)的原型如下: int pcap_loop (pcap_t *p, int t, pcap_handle callback, u_char *user) 其中,參數(shù) t 表示讀取的數(shù)據(jù)包的個數(shù)到達(dá) t 個時,函數(shù)將返回。 } 其中, packet_filter 是回調(diào)函數(shù) packet_handle()中的一個參數(shù),用于寫入過濾表達(dá)式。 Break。包括 IP 協(xié)議, ARP 協(xié)議等。 而且這種功能直接源自 BSD Packet Filter,簡稱 BPF。大多數(shù)用于數(shù)據(jù)捕獲的應(yīng)用程序都會將適配器設(shè)置成混雜模式。 Struct sockaddr *dstaddr。 return 1。部分程序如下所示, ifprint 函數(shù)用于打印網(wǎng)卡信息。 pcap_findalldevs_ex()就是這樣一個 函數(shù) ,它 返回一個 pcap_if 結(jié)構(gòu)的鏈表,其數(shù)據(jù)結(jié)構(gòu)類型如下所示: struct pcap_if { struct pcap_if *next。用戶只要在程序界面中完成一些有目的的數(shù)據(jù)分析工作即可。 PWD 在應(yīng)答中將當(dāng)前的工作目錄的名稱返回。開始行主要用于區(qū)分是請求報文還是響應(yīng)報文。 ? FIN:發(fā)端完成發(fā)送任務(wù)。這 是計算機(jī)為確保數(shù)據(jù)的正確到達(dá)而采取的措施。ARP的格式如圖 35 所示。圖 33 顯示了該過程是如何發(fā)生的。協(xié)議棧的每一層對收到的數(shù)據(jù)報都要進(jìn)行再處理,主要是增加所在層的首部信息(有時還要增加尾部信息),直到數(shù)據(jù)轉(zhuǎn)化為一串二進(jìn)制比特流送入網(wǎng)絡(luò),這個過程稱為數(shù)據(jù)的封裝 [14]。 2) 運(yùn)輸層的任務(wù)即使負(fù)責(zé)向兩個主機(jī)上的應(yīng)用程序提供端到端的通信。在 TCP/IP 協(xié)議棧中,駐留有兩個不同的協(xié)議,即無連接的 UDP 和面向連接的 TCP 協(xié)議 [12], TCP/IP 并不完全符合 OSI 的七層協(xié)議體體系結(jié)構(gòu)。獲得本機(jī)的網(wǎng)絡(luò)接口。它 是一個包含了公共 winpcap API的動態(tài)鏈接庫,它輸出了一組依賴于系統(tǒng) 、 用來捕獲和分析網(wǎng)絡(luò)流量的函數(shù) , 但是它的調(diào)用不依賴于操作系統(tǒng),它提供了更加高層的、抽象的函數(shù)。 2) 環(huán)形緩沖區(qū) 為避免數(shù)據(jù)包的丟失, NPF 使用一個環(huán)形緩沖區(qū)用來保存 捕獲到的 數(shù)據(jù)包。 本系統(tǒng)與 winpcap 的依賴關(guān)系如圖 21所示。 本開發(fā)包的捕獲引擎 有三個主要組成部分:最底層是在不同操作系統(tǒng)中具有差異性的設(shè)備驅(qū)動程序,高層的則是與用戶程序相連接的接口,第三部分是實現(xiàn)數(shù)據(jù)包的過濾 錯誤 !未找到引用源。即使說 主機(jī)的網(wǎng)卡工作在混雜模式 ,其結(jié)果也是一樣。 共享式的網(wǎng)絡(luò)數(shù)據(jù)捕獲 從上 面介紹的網(wǎng)卡模式可知,主機(jī)的網(wǎng)卡一般只接收發(fā)給自己的數(shù)據(jù)包,所以在網(wǎng)絡(luò)通信中,主機(jī)中的套接字程序只會對那些與本機(jī)的硬件地址相匹配的數(shù)據(jù)幀,還有那些在以太網(wǎng)中廣播的數(shù)據(jù)幀產(chǎn)生響應(yīng) [7];如果網(wǎng)卡在混雜模式下工作,那么本機(jī)就會對流經(jīng)本本機(jī)的每個數(shù)據(jù)報文產(chǎn)生中斷,以響應(yīng)數(shù)據(jù)包。 表 21 網(wǎng)卡的工作模式 網(wǎng)卡模式 說明 廣播模式 網(wǎng)卡能夠接收網(wǎng)絡(luò)中所有以 0xffffffffffff 作為目的物 理地址的廣播幀。而且,這章還介紹了用于 網(wǎng)絡(luò)開發(fā)的函數(shù)庫,并深入介紹 winpcap 的相關(guān)知識,其中特別闡述了 winpcap 開源包的主要功能模塊、主要函數(shù)等。 . 本文研究內(nèi)容 本課題研究設(shè)計以 TCP/IP為基礎(chǔ)的協(xié)議分析器。最原始的,應(yīng)該是 TCP/IP 協(xié)議的層次結(jié)構(gòu)分析,包括各層所使用的網(wǎng)絡(luò)協(xié)議,各層次之間的聯(lián)系以及數(shù)據(jù)包在協(xié)議棧中的傳輸過程。但是,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展更新,相關(guān)的網(wǎng)絡(luò)問題也凸顯出來。本系統(tǒng)使用具有數(shù)據(jù)包捕獲功能的 winpcap 開源包 ,對流經(jīng)本機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行嗅探和統(tǒng)計分析。 本課題針對 10Mbps 以太網(wǎng),設(shè)計一個具有實時性的網(wǎng)絡(luò)數(shù)據(jù)包捕獲和統(tǒng)計分析系統(tǒng)。我們在通過互聯(lián)網(wǎng)獲取信息,共享網(wǎng)絡(luò)資源的同時也增長了見識。 . 研究現(xiàn)狀 從 TCP/IP 協(xié)議誕生至今,有很多的研究者專門研究以 TCP/IP 協(xié)議為基礎(chǔ)的各種網(wǎng)絡(luò)協(xié)議。使用 winpcap 程序庫的函數(shù),可以得到在自己所屬網(wǎng)絡(luò)上傳送的全部數(shù)據(jù)包 [3]; winpcap 是在 Windows 平臺上訪問網(wǎng)絡(luò)數(shù)據(jù)鏈路層的開源庫,其允許應(yīng)用程序繞開網(wǎng)絡(luò)協(xié)議棧來捕獲與發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包,并具備其他有用的特性,諸如內(nèi)核 空間的數(shù)據(jù)包過濾、網(wǎng)絡(luò)統(tǒng)計引擎等。 第二章介紹了網(wǎng)絡(luò)分析的基本原理,包括網(wǎng)卡的設(shè)置,并對比說明了在不同的以太網(wǎng)環(huán)境下實現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲。 作為局域網(wǎng)最通用的通信協(xié)議標(biāo)準(zhǔn), 以太網(wǎng) 使用總線型結(jié)構(gòu),且這個總線是被共享的, 其他節(jié)點(diǎn) 則 通過與 總線連接來獲取資源; 各個節(jié)點(diǎn)是采用 具有沖 突檢測的 CSMA/CD(載波偵聽多路訪問 /沖突檢測) 方法, 并 采用競爭機(jī)制和總線拓?fù)浣Y(jié)構(gòu) [3];以太網(wǎng)的各個節(jié)點(diǎn)是通過計算機(jī)上的網(wǎng)卡來實現(xiàn)這個功能的,一般情況下,網(wǎng)卡有四種工作模式 [6];具體的如表21 所示。網(wǎng)絡(luò)分析中,捕獲數(shù)據(jù)包程序需要把網(wǎng)卡設(shè)置為混雜模式。 因為交換機(jī)不會將發(fā)給其他結(jié)點(diǎn)的數(shù)據(jù)包發(fā)給正在捕獲數(shù)據(jù)包的主機(jī),所以 這種環(huán)境下的以太網(wǎng) 只能監(jiān)聽到發(fā)給本機(jī)的數(shù)據(jù)包 。 基于 TCP/IP 的協(xié)議分析器設(shè)計 5 數(shù)據(jù)包的捕獲工具 設(shè)計網(wǎng) 絡(luò)安全程序時,都必須對數(shù)據(jù)包進(jìn)行捕獲。 winpcap 的各功能模塊 winpcap 有 一個核心的包過濾驅(qū)動程序 NPF,一個底層的動態(tài)鏈接庫 和一個高層的并獨(dú)立于系統(tǒng)的動態(tài)鏈接庫 組成。NPF 驅(qū)動采用的過濾系統(tǒng)來源于 BSD Packet Filter, 而且 這個 數(shù)據(jù)包過濾器 擁有強(qiáng)大的 功能,因為它不僅 要 決定數(shù)據(jù)包是否應(yīng)該被保存,而且還得決定要保存的字 節(jié)數(shù)。 3. 動態(tài)鏈接庫模塊 動態(tài)鏈接庫模塊 層次在 之上 。 2) pcap_lookupdev。 8) pcap_datalink;獲取數(shù)據(jù)鏈路層類型,如 10Mbps 以太網(wǎng)基于 TCP/IP 的協(xié)議分析器設(shè)計 8 第三章 TCP/IP 協(xié)議分析模塊 TCP/IP 分析過程 TCP/IP 模型 網(wǎng)絡(luò)協(xié)議通常 要 分 不同的 層次進(jìn)行開發(fā), 而且每一層所 負(fù)責(zé)通信功能 不同, TCP/IP 協(xié)議簇就 是一組不同層次上的多個協(xié)議的組合。 ? SNMP 簡單網(wǎng)絡(luò)管理協(xié)議。 基于 TCP/IP 的協(xié)議分析器設(shè)計 9 應(yīng) 用 進(jìn) 程應(yīng) 用 進(jìn) 程 應(yīng) 用 進(jìn) 程 應(yīng) 用 進(jìn) 程U D PT C PI C M P I P I G M PA R P硬 件 接 口R A R P媒 體網(wǎng) 絡(luò) 接 口 層網(wǎng) 際 層運(yùn) 輸 層應(yīng) 用 層 圖 31 TCP/IP 協(xié)議簇中不同層次的協(xié)議 數(shù)據(jù)包的封裝與分用 當(dāng)應(yīng)用層的應(yīng)用程序?qū)?shù)據(jù)傳送給傳輸層的 TCP 或 UDP 時,數(shù)據(jù)就被送入?yún)f(xié)議棧中。最后將數(shù)據(jù)交給上層的應(yīng)用程序處理。 ARP 中規(guī)定了兩種信息的基本類型:請求 (Request)和應(yīng)答 (Response)。 類 型 代 碼 校 驗 和( 不 同 類 型 和 代 碼 有 不 同 的 內(nèi) 容 ) 圖 37 ICMP 數(shù)據(jù)報格式 5) TCP、 UDP 數(shù)據(jù)報格式 傳輸控制協(xié)議 (TCP)定義了兩臺計算機(jī)之間進(jìn)行可靠的傳輸 和 數(shù)據(jù) 的交換,并且 確認(rèn)信息的格式 。 ? SYN:同步序號用來發(fā)起一個連接。 HTTP 請求報文和響應(yīng)報文都是由三個部分組成。 LIST 讓服務(wù)器給客戶發(fā)送一份列表。 winpcap 的強(qiáng)大功能在于它可以完成內(nèi)核中數(shù)據(jù)的捕獲。 winpcap 開源庫中提供了專門的函數(shù)來實現(xiàn)這個功能。 其中成員 name 和 description 分別表示一個適配器的名稱和一個更容易讓人理解的描述 [16]。 } if (i==0) { printf(\n 沒有找到任何網(wǎng)卡,請確認(rèn) Winpcap 已經(jīng)安裝 .\n)。 Struct sockaddr *broadaddr。 其中, flag 是用來指示適配器是否被置為混雜模式。 winpcap 最強(qiáng)大的功能之一就是擁有 強(qiáng)大的 過濾數(shù)據(jù)包的引擎。 本系統(tǒng)將過濾表達(dá)式設(shè)置為基于 TCP/IP 協(xié)議類型的過濾。 Case 1: Strcpy (packet_filter,ip and tcp)。 Default: Break。只是 pcap_dispatch 函數(shù)在超時時間到了就會返回,而 pcap_loop 函數(shù)則不會因此而返回,只有等到滿足所設(shè)定的捕獲數(shù)時才會返回。 數(shù)據(jù)包的分析 前一節(jié)中已經(jīng)講述了 TCP/IP 協(xié)議的體系結(jié)構(gòu),數(shù)據(jù)的封裝過程還有主要協(xié)議的數(shù)據(jù)報格式。 數(shù)據(jù)包的判斷 從 即時聊天工具誕生到現(xiàn)在,它已經(jīng)成為我們聯(lián)系朋友的重要工具之一; 作為應(yīng)用層的應(yīng)用程序,它的數(shù)據(jù)也要通過 TCP 協(xié)議或 UDP 協(xié)議傳輸出去。 ? 如果要在程序中使用 winpcap 中提供給 win32 平臺的特有函數(shù),必須在預(yù)處理中加入 WPCAP 的定義。在新建的工作空間中需要在已創(chuàng)建的工程中打開工程菜單項,選擇 C/C++選項卡,在預(yù)處理程序定義的文本框中把需要的定義添加進(jìn)去。 在選擇好用于捕獲數(shù)據(jù)包的網(wǎng)卡后還要對進(jìn)入主機(jī)中的數(shù)據(jù)包進(jìn)行過濾。如果本機(jī)在某時刻因訪問網(wǎng)頁發(fā)送或接收到數(shù)據(jù)包,那么系統(tǒng)程序會在同一時刻將符合規(guī)則的數(shù)據(jù)包捕獲并基于 TCP/IP 的協(xié)議分析器設(shè)計 24 分析。在 FTP 主頁上,點(diǎn)擊 “ pub”選項下的“ cartoon”選項,再點(diǎn)擊“ naruto 火影忍者”,這時,本機(jī)就會向遠(yuǎn)程 FTP 系統(tǒng)發(fā)送相應(yīng)的命令,打開的網(wǎng)頁如圖 48 所示,分析結(jié)果如圖 49 所示。 其中,報文類型為 3,即表示 終端不可到達(dá) ; 識別號為 0,報文序列號為 0。如果想提高數(shù)據(jù)包捕獲的效率,可以將超時時間設(shè)置為比較大的數(shù)值,但是如果要求提高響應(yīng)度,則要將該值設(shè)置為比較小的值。甚至說,這樣的課題還有助于學(xué)習(xí)和加固網(wǎng)絡(luò)協(xié)議的相關(guān)知識。這種廣播機(jī)制和網(wǎng)卡特定的工作模式的設(shè)定為網(wǎng)絡(luò)數(shù)據(jù)的捕獲和監(jiān)聽提供了可能。程序中使用了 winpcap開源包 的 主要 功能函數(shù),比如 pcap_loop,pcap_next 等。 圖 411 顯示的是基于 UDP 協(xié)議類型的 DNS 的判斷。這種設(shè)置下的匿名用戶 名為“ anonymous”,通常要求輸入的郵箱地址作為認(rèn)證密碼。在校園內(nèi)使用局域網(wǎng)時,需要連上銳捷認(rèn)證。 基于 TCP/IP 的協(xié)議分析器設(shè)計 23 程序的運(yùn)行 程序在運(yùn)行后,首先會顯示已連接的網(wǎng)卡信息如圖 41 所示。 ? 設(shè)置 VC++的連接器,把 庫文件包含進(jìn)來。 本設(shè)計只通過判斷源端口號或目的端口號來判斷是 服務(wù)器發(fā)給本機(jī)的數(shù)據(jù)還是本機(jī)發(fā)給服務(wù)器的數(shù)據(jù),不過在這之前必須先確認(rèn)登錄服務(wù)器的類型。 本系統(tǒng)的協(xié)議解析過程如圖 313 所示。因此,用戶程序不能直接控制它,這樣可能會增加程序的復(fù)雜度特別是多線程的 C++程序中。同時要將網(wǎng)卡的工作模式設(shè)置為混雜模式,這樣,本機(jī)的內(nèi)核才能把所有流經(jīng)本機(jī)的數(shù)據(jù)包全部捕獲。 Case 3: Strcpy (packet_filter,ip and icmp)。本次設(shè)計中,主要的限定符有 IP、 TCP、 UDP、 ARP 等。NPF 負(fù)責(zé)將數(shù)據(jù)包指針傳送給內(nèi)核過濾器以決定數(shù)據(jù)是否被接收。部分程序中如下所示: if ( (adhandle= pcap_open(dname, // 設(shè)備名 65536, PCAP_OPENFLAG_PROMISCUOUS, // 混雜模式 1000, // 讀取超時時間 NULL, // 遠(yuǎn)程機(jī)器驗證 errbuf // 錯誤緩沖池 )) == NULL) {
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1