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

正文內(nèi)容

畢業(yè)設(shè)計-局域網(wǎng)抓包軟件的設(shè)計與實現(xiàn)—論文-在線瀏覽

2025-02-03 22:40本頁面
  

【正文】 作系統(tǒng)特有的代碼。 事實上,不同版本的Windows平臺在內(nèi)核層模塊和用戶進程之間的接口不完全相同, 解決這些不同。 。第三個模塊 ,它提供了更高層、抽象的函數(shù)。因此程序員能處理兩種類型的 API:一套原始函數(shù)集,包含在 ,直接與內(nèi)核層調(diào)用匹配 。程序員能隨意使用 ,但只能在受 第 3 頁 共 25 頁 限的環(huán)境中直接使用 . 圖 1 WINPCAP 結(jié)構(gòu)圖 總的說來, 直接映射了內(nèi)核的調(diào)用。 Winpcap 的具體結(jié)構(gòu)圖 1 所示 : Winpcap 是用 NDIS( Windows 的通信協(xié)議程序 (比如 TCP/IP)和網(wǎng)絡(luò)設(shè)備驅(qū)動器之間通信的規(guī)范 )的 ,將自己注冊為一個協(xié)議處理驅(qū)動 。經(jīng)過 測試,在使用交換機連接的局域網(wǎng)下, Wincap 只能監(jiān)聽 到 本網(wǎng)段內(nèi)的數(shù)據(jù),而對于來自其他網(wǎng)段的數(shù)據(jù)則無法監(jiān)聽,除非你把 probe接到交換機之前或者接到交換機的 console 口上,不過那樣的弊端是顯而易見的 , 所以, Winpcap 的應用 還是 有局限性的 。 它是能夠在網(wǎng)絡(luò)中提供可靠的數(shù)據(jù)傳輸和無連接的數(shù)據(jù)報服務的一組協(xié)議 。TCP/IP協(xié)議族是一組不同的協(xié)議組合在一起構(gòu)成的協(xié)議族,它是一個真正的開放系統(tǒng)。 基于 TCP/IP協(xié)議的網(wǎng) 絡(luò)體系結(jié)構(gòu), TCP/IP協(xié)議分為四層如圖 3所示,每一層分別負責不同的通信功能。它們一起處理任何傳輸媒介的物理接口細節(jié),它使用的協(xié)議為以太網(wǎng)協(xié)議。 在 TCP/IP 協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括 IP( 網(wǎng)際協(xié)議 ) 、 ICMP(因特網(wǎng)網(wǎng)間控制報文協(xié)議)以及 IGMP( 因特網(wǎng)組管理協(xié)議)。 TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議: UDP(用戶數(shù)據(jù)報協(xié)議)、 TCP( 傳輸控制協(xié)議)。它所做的工作包括把應用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認接收到的分組,設(shè)置發(fā)送最后確認分組的超時時鐘等,由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節(jié)。它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。 應用層:它負責處理特定的應用程序細節(jié)。 第 5 頁 共 25 頁 通常應用程序是一個用戶進程,而下面的三層進程則是一般在內(nèi)核中執(zhí)行的。下三層對應用程序一無 所知,但卻要處理所有的通信細節(jié)。 TCP和 UDP是兩種最為著名的運輸層協(xié)議,二者都使用 IP作為網(wǎng)絡(luò)層協(xié)議。除了以上提到的協(xié)議,還有下面幾個協(xié)議: IPARP(地址解析協(xié)議)、 RARP(逆向地址解析協(xié)議 )、動態(tài)選路協(xié)議( RIP、 OSPF、 BGP、 CIDR)、 DNS(域名系統(tǒng))、 TFTP(簡單文件傳送協(xié)議)等。 圖 4 TCP/IP協(xié)議族中不同層次 的協(xié)議 從圖的模型中可以看到,應用層的大多數(shù)應用程序通過 TCP、 UDP來訪問網(wǎng)絡(luò)層,或者通過 ICMP來使用網(wǎng)絡(luò)層,如 Ping、 Trace Route等也可以使用 IP直接訪問網(wǎng)絡(luò)層。網(wǎng)絡(luò)層的 ICMP是 IP協(xié)議的附屬協(xié)議, IP協(xié)議用它與路由器之間交換錯誤報文或其它控制信息。 數(shù)據(jù)封裝與分用過程 以用戶用 TCP協(xié)議傳送數(shù)據(jù)為例, 數(shù)據(jù)被送入?yún)f(xié)議棧 中,然后逐個通過每一層直到被當作一串比特流送入網(wǎng)絡(luò) 。其中每一層對收到的數(shù)據(jù)都要增加一些首部信息(有時還要增加尾部信息)。IP傳給網(wǎng)絡(luò)接口層的數(shù)據(jù)單元稱作 IP數(shù)據(jù)報。這就是通常說的數(shù)據(jù)的封裝過程,如圖 5所示。每層協(xié)議盒都要去檢查報文首部中的協(xié)議標識,以確定接收數(shù)據(jù)的上層協(xié)議。 圖 6 數(shù)據(jù) 幀 的分用過程 第 7 頁 共 25 頁 IP 協(xié)議 IP是 TCP/IP協(xié)議族中最為核心的協(xié)議。 IP提供不可靠、無連接的數(shù)據(jù)報傳送服務。 首部長度 : 以 32bit為單位的包頭長度 。 總長 : 以 Byte為單位的整個 IP數(shù)據(jù)報長度 。 標志和片偏移 : 同樣用于控制分片及其重組 。 協(xié)議 : 表示創(chuàng)建本 IP數(shù)據(jù)報數(shù)據(jù)區(qū)數(shù)據(jù)的高層協(xié)議的類型,如 TCP,UDP等 。 源 IP地址和目的 IP地址 : 分別指發(fā)送本數(shù)據(jù)報的主機 IP地址和接受本數(shù)據(jù)報的主機的 IP地址 。 TCP協(xié)議是網(wǎng)絡(luò)中應用最為廣泛的協(xié)議,許多的應用層協(xié)議都是在建立在 TCP協(xié)議之上的。 目的端口 : 接收端 TCP端口號 。 確認號 : 指出本機希望下一個接收的字節(jié)的序號 。 碼位 : 指出段的目的與內(nèi)容,不同的各碼位置位有不同的含義 。 校驗和 : 這是可選域,置 0表示未選,全 1表示校驗和為伍 緊急指針 : 當碼位的 URG置位時,指出緊急指針的序號。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)的眾多的客戶 /服務器模式的網(wǎng)絡(luò)應用都需要使用 UDP協(xié)議。 UDP數(shù)據(jù)報各域的意義與 TCP段中相應的域相同。這個偽頭標來自于 IP報頭,包括 : 源 IP地址、信宿 IP地址、協(xié)議類型、 UDP長度及填充域。 但 是由于網(wǎng)絡(luò)是一個面向大眾的開放系統(tǒng),對 數(shù)據(jù) 信息的保密和系統(tǒng)的 安全 性 考慮得并不完備,存在著 許多的 安全 隱患 。 網(wǎng)絡(luò)的 安全形勢日 趨嚴峻。 本軟件的設(shè)計就是為了達到基本的維護網(wǎng)絡(luò)安全的作用,對網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)進行捕獲,然后從中得到所有的網(wǎng)絡(luò)數(shù)據(jù)包,并對其 進行簡單的分析操作。 IP是 TCP/IP協(xié)議族中最為核心的協(xié)議。這些數(shù)據(jù)類型中又以 TCP和 UDP兩種數(shù)據(jù)類型為多數(shù)。同時本軟件還還應當具有一種過濾功能,那就是當我們知道某個 IP地址發(fā)送的數(shù)據(jù)包信息都是屬于一些不良,反動等等 內(nèi)容的信息,那么,我們可以通過在軟件上輸出這臺主機 IP地址,來過濾從這臺主機上發(fā)送的所有 TCP和 UDP協(xié)議類型的數(shù)據(jù)。 性能要求 由于本設(shè)計是安裝在個人電腦上,所以要求用戶界面簡潔,友好,方便使用 第 10 頁 共 25 頁 和操作。一方面,網(wǎng)絡(luò)檢測部分的數(shù)據(jù)源是網(wǎng)絡(luò)上的數(shù)據(jù)包,需要經(jīng)過捕獲后方可以提交給分析系統(tǒng) ; 另一方面,捕獲數(shù)據(jù)包效率的高低直接影響著網(wǎng)絡(luò)探測部分的性能的好壞,如果發(fā)生丟包現(xiàn)象,則有可能丟掉的包就是攻擊包。一款好的信息過濾軟件,都是將在一個長時間工作的環(huán)境中運行。那么這款軟件就不會具備同其他同類似軟件的競爭力,更不會有市場,那么它就注定成為一款失敗的軟件。 4 局域網(wǎng)信息 捕獲 器 的設(shè)計 功能概述 通過前面的敘述可以知道,這款軟件具有的功能,那就是:能夠分別 捕獲 局域網(wǎng)中的 TCP 協(xié)議類型數(shù)據(jù), UDP 協(xié)議類型數(shù)據(jù) 和從某 一特定的 IP 地址發(fā)送出來的 TCP 協(xié)議類型數(shù)據(jù)和 UDP 協(xié)議數(shù)據(jù)類型。 系統(tǒng)流程圖如下圖: 開 始捕 獲 數(shù)據(jù)分 析 協(xié)議 類 型數(shù) 據(jù) 庫處 理結(jié) 束結(jié) 束Y E SY E SN ON O 圖 10 系統(tǒng)流程圖 第 11 頁 共 25 頁 本系統(tǒng)包括三個基本模塊,分別是數(shù)據(jù)包捕獲模塊,數(shù)據(jù)分析模塊和數(shù)據(jù)庫模塊。 系統(tǒng)功能模塊的設(shè)計 數(shù)據(jù)包 捕獲模塊 數(shù)據(jù)包捕獲模塊主要用 Winpcap軟件實現(xiàn),模塊的設(shè)計思想遵循 Winpcap捕獲數(shù)據(jù)包的流程,流程分三步:查找設(shè)備,打開設(shè)備和捕獲數(shù)據(jù)的函數(shù)。流程圖如下: 查 找 網(wǎng) 卡 設(shè) 備獲 取 網(wǎng) 卡 設(shè) 備打 開 網(wǎng) 卡 設(shè) 備捕 獲 網(wǎng) 絡(luò) 數(shù) 據(jù) 包結(jié) 束Y E SN O開 始 圖 11 數(shù)據(jù)捕獲模塊 流程圖 這里給出其主要過程 : 先確定要在其上進行監(jiān)測的網(wǎng)絡(luò)適配器,得到現(xiàn)有的網(wǎng)絡(luò)適配器的列表和他們的描述,從而獲得該 NIC的相關(guān)信息。alldevs,errbuf) == 1) { MessageBox(查找設(shè)備出錯 ,提示 )。 第 12 頁 共 25 頁 } 接下來打開所獲得的網(wǎng)絡(luò)適配器,其中 pcap_open函數(shù)的參數(shù) 1為上面獲得的NIC名稱,參數(shù) 2定義了網(wǎng)絡(luò)監(jiān)測程序所捕捉的最大字節(jié)數(shù)。參數(shù) 4為捕獲時間限制,單位為毫秒。該函數(shù)負責按照用戶指定參數(shù)和其它系統(tǒng)默認值初始化 WinPcap,并返回會話句柄 //打開設(shè)備 adhandle = pcap_open(dname, 65536, PCAP_OPENFLAG_PROMISCUOUS, 1000, NULL, errbuf)。考慮到系統(tǒng)資料的占用等問題,利用了線程來解決此問題,捕獲數(shù)據(jù)是新建一個線程,來實現(xiàn)數(shù)據(jù)的捕獲,再在線程中處理數(shù)據(jù)的解析和特征碼的提取,其 中 CreateThread 函數(shù)的參數(shù) 1 為指向 SECURITY_ATTRIBUTES 結(jié)構(gòu)體的指針,參數(shù) 2 指定線程堆棧大小,參數(shù) 3 指定線程執(zhí)行函數(shù)名稱,參數(shù) 4 表示給新線程的參數(shù),參數(shù) 5 為線程指定的更多控制參數(shù),參數(shù) 6 為新線 ID。 m_handle=CreateThread(NULL,0,ThreadProc,this,0,ThID)。 } //線程處理函數(shù) DWORD WINAPI ThreadProc( LPVOID lpParameter ) { CLjDlg * m_dlg = (CLjDlg *)lpParameter。 //捕獲數(shù)據(jù)包的頭 const u_char *pkt_data。 //pcap_next_ex 的返回值 m_dlgSetDlgItemText(IDC_STATIC_TIP,線程開始捕獲數(shù)據(jù) .)。header,amp。 //處理捕獲的數(shù)據(jù)包 m_dlgSaveDate(header,pkt_data)。 } 數(shù)據(jù)分析模塊實現(xiàn) 數(shù)據(jù)分析模塊的設(shè)計思想是將 Winpcap 捕獲到的數(shù)據(jù)對應網(wǎng)絡(luò)數(shù)據(jù)包的格式進行初始化,取得具體的值。 將網(wǎng)絡(luò)中捕獲的數(shù)據(jù)包進行格式化 數(shù)據(jù)分析模塊的主要實現(xiàn)數(shù)據(jù)的解析。 其流程圖如下: 第 14 頁 共 25 頁 捕 獲 的 數(shù) 據(jù) 包分 析 以 太 網(wǎng) 協(xié)議判 斷 是 否 為I P 協(xié) 議 數(shù) 據(jù)分 析 I P 協(xié) 議 數(shù)據(jù)判 斷 是 否 是T C P , U D P協(xié) 議 類 型 字段分 析 T C P ,U D P 協(xié) 議 類 型數(shù) 據(jù) 包傳 入 數(shù) 據(jù) 庫 處理 模 塊Y E SN OY E SN O 圖 12 數(shù)據(jù)包分析流程圖 數(shù)據(jù)分析模塊實現(xiàn)時,本系統(tǒng)提取的數(shù)據(jù)包中主要的一些信息,如 IP 數(shù)據(jù)包中的 IP 地址,端口信息等。 tcp* tcph。 CString temp。 //時間 struct tm *ltime。header)。 //IP ih=(ipheader*)(pkt_data+14)。 0xf)*4。 sprintf(IPDateLength,%d,headerlen)。//生存時間 sprintf(SIP,%d.%d.%d.%d,ih,ih,ih,ih)。 u_short u_sport,u_dport。 //協(xié)議類型 tcph=(tcp*)((u_char*)ih + iplen)。 //源端口 u_dport = ntohs(tcphdport)。 //源端口 // sprintf(Dport,%d,tcphdport)。 sprintf(tcp_hLength,%d,chang)。 //TCP 數(shù)據(jù) } else if(ihproto == 17) //這里是 UDP 數(shù)據(jù)包 { strcpy(proto,UDP)。 u_sport = ntohs(udphsport)。 //目的端口 // sprintf(Sport,%d,udphsport)。 //目的端口 sprintf(udplength,%d,udphlen)。 //TCP 數(shù)據(jù) } sprintf(Sport,%d,u_sport)。 //目的端口 AccessWrite(ihproto)。本系統(tǒng)使用的是ado 數(shù)據(jù)庫連接方式, ado 是 Microsoft 開發(fā)的一個連接數(shù)據(jù)庫方式,由于本系統(tǒng)的使用平臺,開發(fā)環(huán)境都為 Microsoft 的軟件,所以本系統(tǒng)使用 ado 方式。Data Source=,adModeUnknown)。 return FALSE。 數(shù)據(jù)包信息寫入數(shù) 據(jù)庫代碼如下: AccessWrite(int Type) { …… if(m_bOneIP) //指定 IP 地址模式 { (__uuidof(Recordset))。 try { m_pRecordsetAddNew()。 第 17 頁 共 25 頁 m_pRecordsetPutCollect(IP 首部長度 , _variant_t(IPLength))。 m_pRecordsetPutCollect(生存時間 , _variant_t(TTL))。 m_pRecordsetPutCollect(源 IP 地址 , _variant_t(SIP))。 m_pRecordsetPutCollect(源端口 , _variant_t(Sport))。 } …… m_pRecordsetUpdate()。 }
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1