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

正文內容

畢業(yè)設計:一個網(wǎng)絡嗅探工具的開發(fā)(編輯修改稿)

2025-01-08 17:50 本頁面
 

【文章內容簡介】 包注入等高級功能。 的函數(shù)調用會自動調用 中的低級函數(shù),并且可能被轉換成若干個系統(tǒng)調用。 一個網(wǎng)絡嗅探工具的開發(fā) 第 8 頁 共 47 頁 3 需求分析 用戶 需求 網(wǎng)絡嗅探器 是一種利用計算機的網(wǎng)絡接口截獲其 它 計算機 數(shù)據(jù)報文的工具 。 使用網(wǎng)絡嗅探工具的主要人群是黑客或網(wǎng)絡安全技術人員, 從攻擊的角度,黑客可以利用嗅探器程序非法獲取網(wǎng)絡中 傳輸?shù)拇罅棵舾行畔?,如帳號和口令等,對網(wǎng)絡安全極具威脅 ;從防守的角度,嗅探技術是基于網(wǎng)絡的入侵檢測系統(tǒng)的最底層環(huán)節(jié),是整個系統(tǒng)的數(shù)據(jù)來源 ,為技術人員提供重要的依據(jù) 。 無論是黑客還是安全人員,他們的對嗅探技術的利用途徑都是一樣的,即 對網(wǎng)絡上傳輸?shù)臄?shù)據(jù)包 進行 捕獲與分析 ,獲取必要的信息,但是他們的目的不一樣,前者是 專門利用 計算機 網(wǎng)絡搞破壞或惡作劇 ,而后者則是 通過對這些信息的分析利用, 維護 網(wǎng)絡安全 與穩(wěn)定 。 因此用戶提出了以下要求 : (1)能夠捕獲網(wǎng)絡數(shù)據(jù)包,并能對數(shù)據(jù)包進行簡單的分析; (2)對數(shù)據(jù)包進行簡單的統(tǒng)計,例 如數(shù)據(jù)包的長度、截獲的數(shù)目等; (3)精確的設置捕捉規(guī)則 和 靈活的過濾策略 ,使用戶能夠方便、準確地捕獲所需要的信息; (4)界面友好, 兼容多種操作系統(tǒng)平臺 ,方便用戶操作。 功能需求 盡管嗅探器作為網(wǎng)絡安全方面最常見的工具被 廣泛 使用,但是它的 基本 原理 其實很簡單, 就是先把同卡設備設為混雜模式,然后直接接收 IP 層的數(shù)據(jù)。 為了實現(xiàn)用戶所提出的各種需求,嗅探器必需達到以下功能: (1)運行于數(shù)據(jù)鏈路層,監(jiān)視網(wǎng)絡狀態(tài),對數(shù)據(jù)幀進行捕捉和 統(tǒng)計, 為優(yōu)化網(wǎng)絡性能 、增強系統(tǒng)安全性 提供 充分有效的依據(jù) 。此時 的 工作網(wǎng)卡處于混雜 模式 ; (2)能夠對 網(wǎng)絡中捕捉 的數(shù)據(jù) 包解碼,用于故障分析 。 如數(shù)據(jù)包的編號、時間戳、數(shù)據(jù)包長度、協(xié)議類型、源 IP地址、目的 IP地址、源端口號、目的端口號 源 、 MAC 地址 、 目的 MAC地址 等相關信息; (3)友好的圖形化界面 , 不需要復雜的命令, 大部分 功能通過 鼠標點擊就 可達到 , 一個網(wǎng)絡嗅探工具的開發(fā) 第 9 頁 共 47 頁 操作簡單、方便 ,并附帶幫助文檔 ; (4)用戶能夠自定義過濾規(guī)則,使數(shù)據(jù)包的捕獲更加精準和具有靈活性,增強了軟件功能以及與用戶的交互能力; (5)程序帶有導出功能,使截獲的數(shù)據(jù)包信息以 XML 格式導出到指定文件夾。 性能需求 一個程序除了能 正常運行并且達到相應的功能外,對程序性能也有嚴格的要求,性能需求 決定了整個系統(tǒng)的性能檔次、所采用的技術和設備檔次 ,本程序除了達到 常用軟件對響應時間以及差錯控制的要求外,還提出以下要求: (1)數(shù)據(jù)精確性 。 捕獲到的數(shù)據(jù)包并不僅僅是單純的數(shù)據(jù)信息,而是包含有 IP頭、 TCP 頭等信息頭的最原始的數(shù)據(jù)信息,這些信息保留了它在網(wǎng)絡傳輸時的原貌 ,為分析網(wǎng)絡信息提供了重要資料 。 (2)適應范圍 。優(yōu)秀的嗅探器 能夠分析幾百種協(xié)議。一般情況下,大多數(shù)的嗅探器至少能夠分析下面的協(xié)議:標準以太網(wǎng)、 TCP/IP、 IPX、 HTTP、 SMTP 和無線網(wǎng)。 運行 環(huán) 境 本系統(tǒng) 運 正常 行的硬件環(huán)境 需求 如下: CPU :P4 以上 ; 內存 :256MB以上 ; 硬盤 :20G 以上 。 本系統(tǒng) 運正常行的軟件環(huán)境 需求 如下: 操作系統(tǒng): Windows XP; 動態(tài)鏈接庫和驅動程序: ; 開發(fā)包文件: 。 一個網(wǎng)絡嗅探工具的開發(fā) 第 10 頁 共 47 頁 4 設計 概要 本系統(tǒng)選用 Windows XP 操作系統(tǒng),并且采用 Microsoft Visual C++ 編譯系統(tǒng)構造而成 , 具體環(huán)境是微軟基礎類 , 這個類庫便于我們構造基于 Windows 操作系統(tǒng)的窗口程序。本系統(tǒng)是一個基于對話框的應用程序,并對該對話框添加了 按鈕控件、樹狀 控件 、列表框控件等,同時 使用多線程設計 , 提高程序運行效率 。 系統(tǒng)結構 由前面任務與目標一節(jié)中所提到的,一個完整的嗅探工具必需有數(shù)據(jù)包捕獲及分析、數(shù)據(jù)存儲等 基本 功能 ,此外, 本系統(tǒng) 加入了幫助模塊 ,通過調用幫助文檔給用戶提供程序使用幫助。系統(tǒng)結構如下圖 所示: 圖 系統(tǒng)結構圖 設計思路 根據(jù)前面的網(wǎng)絡嗅探技術的原理 以及利用 WinPcap設計程序的一般步驟 , 本次設計嗅探工具的思路如下: (1)首先獲取網(wǎng)絡設備,然后打開設備,并設置網(wǎng)卡處于混雜模式,啟動捕獲線程,不斷地接收數(shù)據(jù)包和分析數(shù)據(jù)包; (2)通過在對話欄的組合框中輸入過濾串來確定監(jiān)聽某種協(xié)議 (TCP, UDP, ICMP)的數(shù)據(jù)包,默認情況下是不進行過濾的; (3)通過菜單或工具欄按鈕來控制監(jiān)聽線程的開始和結束; (4)單獨創(chuàng)建一個線程用于進行數(shù)據(jù)包的接收,以提高界面的反應能力; 網(wǎng)絡嗅探系統(tǒng) 數(shù)據(jù)包捕獲 數(shù)據(jù)包分析 數(shù)據(jù) 保存 幫助 文檔 一個網(wǎng)絡嗅探工具的開發(fā) 第 11 頁 共 47 頁 (5)監(jiān)聽的結果顯示于列表控件中,包括以下各項,接收時間、數(shù)據(jù)包長度、源 MAC地址、目的 MAC 地址、協(xié)議 類型、源 IP地址及端口、目標 IP 地址及端口。 程序 流程 根據(jù)前一節(jié)的設計思路,可以相應地得到這個程序的設計流程,通過采用 程序的順序、選擇和循環(huán)三種 基本的 控制流程 ,可以 提高程序質量 和 編程效率,使程序具有良好的可讀性、可靠性、可維護性以及良好的結構, 有利于后面程序的編寫。程序流程圖如 所示 : 否 圖 程序流 程圖 顯示、統(tǒng)計數(shù)據(jù) 釋放網(wǎng)卡句柄、緩沖區(qū) 退出 得到網(wǎng)卡設備句柄 建立緩沖區(qū) 打開網(wǎng)卡設備、置為混雜模式 選擇監(jiān)聽的網(wǎng)卡 定位及初始化設備 接收網(wǎng)絡數(shù)據(jù)包 停止 接收 從緩沖區(qū)讀取數(shù)據(jù)包 分析數(shù)據(jù)包 是 一個網(wǎng)絡嗅探工具的開發(fā) 第 12 頁 共 47 頁 5 詳細設計 與實現(xiàn) 網(wǎng)絡數(shù)據(jù)包嗅探技術的關鍵技術在于監(jiān)聽網(wǎng)絡數(shù)據(jù)流,并將接收到的數(shù)據(jù)包,經(jīng)過重組、分析,成為用戶 可見 的應用層信息。本章主要討論系統(tǒng)核心部分的具體實現(xiàn),即利用 WinPcap 開發(fā)網(wǎng)絡嗅探工具,包括了數(shù)據(jù)包的捕獲和分析兩大主要部分。 WinPcap 設計步驟 通過對照前面的設計流程,我參考了 WinPcap的相關函數(shù)功能,初步構造了 利用WinPcap 進行網(wǎng)絡數(shù)據(jù)包的捕獲和過濾的 方法,其 設計步驟 如下: (1) 獲得適合的網(wǎng)絡接口的列表 ,得到 設備的基本信息 (如設備名稱和設備描述 ),利 用 pcap_findalldevs()函數(shù) 實現(xiàn); (2)然后 打開一個接口并捕捉流量 , 使用函數(shù) pcap_open_live()來打開一個捕捉設備 。接口打開后, pcap_dispatch()或 pcap_loop()函數(shù)將會開始捕捉 數(shù)據(jù)包,其中,pcap_dispatch()將會在超時后直接返回 , pcap_loop()則一定要等到一定數(shù)量的數(shù)據(jù)包被處理了以后才會返回 ; (3)WinPcap 最強大的特點之一就是數(shù)據(jù)流的過濾引擎。它提供一種高效的方法來只捕 。 過濾數(shù)據(jù) 包是通過 pcap_pile()和 pcap_setfilter()函數(shù) 來實現(xiàn)的 ; (4)最后通過 pcap_freealldevs()函數(shù)來釋放接口列表 , pcap_close()函數(shù)來關閉和返回。 WinPcap 的安裝 本網(wǎng)絡 嗅探 程序需要用到兩個文件,他們都可以從 WinPcap 官方網(wǎng)站下載。第一個文件是 , 它 包括 了 重要的動態(tài)鏈接庫 (DLL)和驅動程序 ,它 是所有基于 WinPcap 的應用程序運行所必須的 ; 第二個文件是 ,他是 WinPcap開發(fā)包文件,是設計基于 WinPcap 的應用程序的開發(fā)文件 。該文件包括開發(fā)用的頭文件和靜態(tài)鏈接庫文件,是開發(fā)者要用到的。如果不需要開發(fā)基于 WinPcap 的程序,而只是運行基于 WinPcap的軟件,就不需要此文件。 然后在 ,選擇 [工具 Tolls]|[選 一個網(wǎng)絡嗅探工具的開發(fā) 第 13 頁 共 47 頁 項 Options]|[目錄 Directories],在 [Include files]和 [Library files]中添加 安裝后 的 include 和 library 的路徑 ,如圖 : (a) Include files目錄中的路徑 (b) Library files目錄中的路徑 圖 VC路徑設置 相關函數(shù) 本嗅探系統(tǒng)的設計涉及到許多重要函數(shù),與程序的功能息息相關,例如設置緩沖區(qū)、查找網(wǎng)卡設備、 捕獲數(shù)據(jù)包等功能,現(xiàn)將涉及到的主要函數(shù)的數(shù)據(jù)結構、 函數(shù)原型及相關參數(shù)做簡要介紹。 數(shù)據(jù)結構 (1)pcap_addr 描述的是網(wǎng)絡接口的地址 ,是一個 包含相對于 addr 指向的地址 ,其數(shù)據(jù)結構 定義如下: typedef struct pcap_addr{ struct pcap_addr *next。 //指向鏈表中 下 一個 節(jié)點 的指針 struct sockaddr *addr。 //指向包含一個地址的 sockaddr 的結構的指針 struct sockaddr *mask。 //地址 掩碼 struct sockaddr *broadaddr。//廣播地址 struct sockaddr *dstaddr。 //目的地址 }。 一個網(wǎng)絡嗅探工具的開發(fā) 第 14 頁 共 47 頁 (2)pcap_file_header 數(shù)據(jù)結構用來描述一個 WinPcap 存儲文件類型 ,其 數(shù)據(jù)結構的定義如下: struct pcap_file_header{ bpf_u_int32 magic。 //文件類型 u_short version_major。 //主版本號 u_short version_minor。 //次版本號 bpf_int32 thiszone。 //區(qū)域時間 bpf_u_int32 sigfigs。 //時間戳 bpf_u_int32 snaplen。 //捕獲長度 bpf_u_int32 linktype。 //鏈路層類型 }。 (3) pcap_if 數(shù)據(jù)結構描述的是一個網(wǎng)絡接口,它其實是網(wǎng)絡接口鏈表中的一個結點 ,其 數(shù)據(jù)結構定義如下: typedef struct pcap_if pcap_if_t。 struct pcap_if{ struct pcap_if *next。 //下一個網(wǎng)絡接口節(jié)點 char *name。 //網(wǎng)絡接口名字 char *description。 //描述信息 struct pcap_addr *addresses。 //網(wǎng)絡接口地址 bpf_u_int32 flags。 //標記 }; (4)pcap_pkthdr 數(shù)據(jù)結構用來描述每個捕獲到的數(shù)據(jù)包的一些基本信息 ,其 數(shù)據(jù)結構的定義如下: struct pcap_pkthdr{ struct timeval ts。 //時間戳 bpf_u_int32 caplen。 //捕獲長度 bpf_u_int32 len。 //數(shù)據(jù)包長度 }; 一個網(wǎng)絡嗅探工具的開發(fā) 第 15 頁 共 47 頁 (5)pcap_stat 數(shù)據(jù)結構主要描述的是 WinPcap 的狀態(tài)信息 , 數(shù)據(jù)結構的定義如下: struct pcap_stat{ u_int ps_recv。 //捕獲到得數(shù)據(jù)包個數(shù) u_int ps_drop。 //丟失的數(shù)據(jù)包個數(shù) u_int ps_ifdrop。 //未用 ifdef WIN32 u_int bs_capt。 //數(shù)據(jù)包到達應用層的個數(shù) endif }。 與 Windows 相關函數(shù) 與 在 Linux 下的使用 的 Libpcap 不同 , 這部分 主要在 Windows 下使用 的 WinPcap 函數(shù) ,是與 操作系統(tǒng) 平臺相關的函數(shù) ,本次設計涉及到的相關函數(shù)如下 。 (1)int pcap_setbuff(pcap_t *p,i
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1