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

正文內(nèi)容

網(wǎng)絡工程-windows下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析-文庫吧資料

2024-12-14 01:48本頁面
  

【正文】 成員名 字節(jié)數(shù) 說明 Version 1/2 IP 的版本,現(xiàn)在為 IPV4 IHL(報送長度 ) 1/2 最常用為 20,取 5- 15 之前的值,最大 60字節(jié) Type Of Service 1 優(yōu)先和可靠性服務要求的數(shù)值 Total Lenth 2 IP 數(shù)據(jù)報的全長 Identification 2 識別 IP 數(shù)據(jù)報的編號 Flags 3/8 1 位為 0 表示有碎塊, 2 位為 0 表示是最后的碎塊,為 1 表示接收中。通過對這些在底層傳輸?shù)脑夹畔⒌姆治隹梢缘玫接嘘P網(wǎng)絡的一些信息。數(shù)據(jù)包分析顯示流程圖如圖 44 所示: 要想準確分析捕獲到得數(shù)據(jù)包,就要對網(wǎng)絡各協(xié)議的結構有很深的了解,下面介紹網(wǎng)絡各協(xié)議的詳細結構。 第二節(jié) 協(xié)議分析模塊的實現(xiàn) 一、 網(wǎng)絡協(xié)議分析的總體流程 該模塊從緩沖區(qū)內(nèi)讀取數(shù)據(jù)包,首先對數(shù)據(jù)包進行分解,然后按照網(wǎng) 絡協(xié)議對數(shù)據(jù)包進行解析 [11]。 totallen=HdrLen。 HdrLen *= 4。 HdrLen = pIpHeaderheader_lenamp。 CString str, strProto, strSourPort, strDestPort, strData, strSize。 //獲取目標地址 pDest = i_ntoa( ina ) 。 strcpy( szSource , pSource ) 。 while( TRUE ) { if( iLen = iRet ) { = pIpHeadersourceIP。 //獲取 IP 包的頭 pIpHeader = (IPHEADER *)bufwork 。 continue 。 if( iRet == SOCKET_ERROR ) 合法端口 合法 IP 地址 合法 MAC 地址 數(shù)據(jù)包 不查看端口 不查看 IP 地址 不查看 MAC 地址 傳輸層 網(wǎng)絡層 物理層 鏈路層 數(shù) 據(jù) 全 部 被 完 整 捕 獲 合法端口 合法 IP 地址 合法 MAC 地址 數(shù)據(jù)包 丟棄 丟棄 丟棄 傳輸層 網(wǎng)絡層 物理層 鏈路層 YES YES NO YES Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 14 { dwErr = WSAGetLastError() 。 利用 VC++[7]結合 Winsock 實現(xiàn)了數(shù)據(jù)包的抓取與顯示,包抓取模塊與顯示模塊均使用線程實現(xiàn) , 采用全局變量進行數(shù)據(jù)共享,下面給出了包抓取線程的關鍵代碼。通過將網(wǎng)卡設置為混雜模式使之可以接受目標地址不是自己的MAC 地址的數(shù)據(jù)包,直接訪問數(shù)據(jù)鏈路層獲取數(shù)據(jù)包。但由于網(wǎng)卡一般有四種接收數(shù)據(jù)包的模式:即廣播模式 、組播模式、直接模式和混雜模式 (圖 42 為正常網(wǎng)卡的工作流程圖,圖43 為混雜模式下網(wǎng)卡的工作流程圖) ,這就產(chǎn)生了不同的捕獲方法。 二、 IP 數(shù)據(jù)包的捕獲方法 數(shù)據(jù)包的捕獲技術是依賴于以太網(wǎng)網(wǎng)卡的。如何實現(xiàn)對所有 IP 包的捕獲,在不同的操作系統(tǒng),有不同的方法,但其基本原理是一致的,即利用 Socket 進行網(wǎng)絡編程。 在局域網(wǎng)中捕獲所有的 IP 包,并對 IP 包進行分析,是網(wǎng)絡流量測量和網(wǎng)絡管理的基礎,許多網(wǎng)絡管理工具(如 SNIFFER 等)都是在局域網(wǎng)上通過捕獲 IP 數(shù)據(jù)包實現(xiàn)對網(wǎng)絡的分析。對于以太網(wǎng)來說,數(shù)據(jù)包分析器根據(jù) Ether II 幀格式中定義的 Frame Type 字段,判斷 Ether II 幀所包含的數(shù)據(jù)包是什么類型( IP 數(shù)據(jù)包還是 ARP 數(shù)據(jù)包),如果是 IP 數(shù)據(jù)包,則數(shù)據(jù)包分析器再根據(jù) IP 數(shù)據(jù)包格式中定義的 Protocol 字段,判斷上層協(xié)議的類型。數(shù)據(jù)包分析器應具有識別和理解各種協(xié)議格式( IP、 TCP、 UCP、 ICMP 協(xié)議)和幀格式的能力,并對捕獲的數(shù)據(jù)進行分析和統(tǒng)計處理。這種捕獲程序與數(shù)據(jù)包捕獲函數(shù)庫分離的機制,使得程序具有建立網(wǎng)絡套接字 進行循環(huán)捕獲 設置過濾條件 進行網(wǎng)絡監(jiān)聽 調(diào)用回調(diào)函數(shù)處理數(shù)據(jù)包 Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 12 很好的可移植性。主要提供一組可用于查找網(wǎng)絡接口名稱、打開選定的網(wǎng)絡接口、初始化、設置包過濾條件、編譯過濾代碼、捕獲數(shù)據(jù)包等功能函數(shù)。 IP 數(shù)據(jù)包的捕獲程序一般由數(shù)據(jù)包捕獲函數(shù)庫和數(shù)據(jù)包分析器組成。 圖 41 IP 數(shù)據(jù)包捕獲結構框圖 結構框圖的右半部分為數(shù)據(jù)包的傳輸組件,由 TCP/IP 協(xié)議和應用程序組成,完成將 IP 數(shù)據(jù)包封裝在數(shù)據(jù)鏈路層的以太網(wǎng)幀內(nèi),并向網(wǎng)絡媒介傳輸?shù)恼麄€封裝或分解的過程。 第一節(jié) 網(wǎng)絡數(shù)據(jù)包捕獲模塊的實現(xiàn) 一、 數(shù)據(jù)包捕獲機制 一般數(shù)據(jù)包的傳輸路徑依次為網(wǎng)卡、設備驅動層、數(shù)據(jù)鏈路層、 IP 層、傳輸層、最后到達應用程序。 前面的工作基本上都是對原始套接字進行設置,在將原始套接字設置完畢,使其能按預期目的工作 時,就可以通過 recv()函數(shù)從網(wǎng)卡接受數(shù)據(jù)了,接受到的原始數(shù)據(jù)Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 11 包存放在緩存 RecvBuff[]中,緩沖區(qū)長度 BUFFER_SIZE 定義為 65535。其中 SIO_RCVALL的定義為: define SIO_RCVALL_WSAIOW(IOC_VENDOR,1) ioctlsocket(sock,SIO_RCVALL,amp。 =htons(57274) //把原始套接字 Sock 綁定到本地網(wǎng)卡地址上 bind(m_s,(PSOCKADDR)amp。 //填充 SOCKADDR_IN 結構 =*(in_addr *)pHosth_addr_list[0]。 //得到 IP 地址表 GetIpAddrTable(NULL,amp。主要代碼實現(xiàn)清單為: //創(chuàng)建原始套接字 m_s = socket( AF_INET , SOCK_RAW , IPPROTO_IP ) 。 Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 10 第四章 Windows 下數(shù)據(jù)包捕獲與分析的具體實現(xiàn) 根據(jù)前面的設計思 路,不難寫出數(shù)據(jù)包捕獲模塊的實現(xiàn)代碼,下面就給出一個簡單的實例,該實例可以捕獲到所有經(jīng)過本地網(wǎng)卡的數(shù)據(jù)包,并可從中分析出協(xié)議、 IP源地址、 IP 目標地址、 TCP 源端口號、 TCP 目標端口號以及數(shù)據(jù)包長度等信息。 Winsock 技術的出現(xiàn),極好的屏蔽了網(wǎng)絡底層復雜的結構和協(xié)議,因此基于Winsock 的網(wǎng)絡應用程序可以在不同類型的網(wǎng)絡上運行。 在 ISO 的 OSI 網(wǎng)絡七層協(xié)議中, Winsock 主要負責的是控制數(shù)據(jù)的輸入和輸出,也就是傳輸層和網(wǎng)絡層。第二種叫做無連接的數(shù)據(jù)報文方式,這時兩臺計算機像是把數(shù)據(jù)放在一個信封里,通過網(wǎng)絡寄給對方,信在傳送的過程中有可能殘缺不全,而且后發(fā)出的信也有可能會先收到,它對應的是 UDP( User Datagram Protocol)協(xié)議。一臺計算機(電話)要想和另一臺計算機(電話)進行數(shù)據(jù)傳輸(通話),必須首先獲得一條鏈路,只有確定了這條通路之后,數(shù)據(jù)(通話)才能被正確接收和發(fā)送。第一種是面向連接的流方式。對程序員來說,也可以把 Socket 看成一個文件指針,只有向指針所指的文件讀寫數(shù)據(jù),就可以實現(xiàn)雙向通信。 五、 Winsock 工作原理 Socket[6]在英文中試插座的意思,他的設計者實際上是暗指電話插座。 Jpcap 是基于 libpcap、 winpcap 和原始套接字的,所以它能夠工作于安裝有 libpcap 和 winpcap的任何操作系統(tǒng)上。著名的網(wǎng)絡入侵檢測系統(tǒng) snort 的windows 版是通過它來捕獲數(shù)據(jù)。 三、 winpcap 工作原理 winpcap 是 libpcap 在 windows 下的版本,它們具有相同的接口,程序員只需要調(diào)用相應的函數(shù)。 查找網(wǎng)絡設備時,如果有多個接口,將自動選擇序號最小的接口,如果要指定接口,可以把接口名直接傳給應用程序;打開網(wǎng)絡設備時,通過傳遞函數(shù)參數(shù)可將網(wǎng)卡查找有效的網(wǎng)絡設備 獲得網(wǎng)絡地址及網(wǎng)絡掩碼 打開網(wǎng)絡設備 設置過濾器 捕獲包 將用戶輸入的字符串編譯到過濾程序中 緩沖滿? 退出 顯示捕獲的包 N Y Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 8 設置為混雜模式;過濾字符串表達了過濾規(guī)則,它的格式與 Tcpdump 使用的相同。 (5)設置過濾器 (pcap_setfilter)。 (3)打開網(wǎng)絡設備 (pcap_open_live)。 Libpcap 的工作過程如圖 33 所示,它是通過調(diào)用相應的庫函數(shù)來實現(xiàn)的,步驟如下: 圖 33 libpcap 的工作過程 (1)查找網(wǎng)絡設備 (pcap_lookupdev)。 應用進程 應用進程 緩沖區(qū) 緩沖區(qū) 過濾器 過濾器 Ipv4 Ipv6 BPF 數(shù)據(jù)鏈路 進程 內(nèi)核 收到的分組的拷貝 發(fā)出的分組的拷貝 Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 7 二、 libpcap 分組捕獲函數(shù)庫 由于 libpcap 與操作系統(tǒng)平臺無關,所以它是使用最多的一 種捕獲方法。將網(wǎng)卡設為混雜模式后,數(shù)據(jù)鏈路層接收本網(wǎng)絡段內(nèi)的所有幀,它將收到的分組和發(fā)出的分組拷貝一份送至 BPF,經(jīng)過濾器送至緩沖區(qū),最后傳給應用程序。 圖 32 BFP 截獲分組的過程 從數(shù)據(jù)鏈路層收到的一個數(shù)據(jù)包后,它將向上層協(xié)議傳遞,根據(jù) IP 協(xié)議的版本分發(fā)給不同的協(xié)議棧,每向上傳 遞一層就剝離一層頭部。 一、 BPF 的工作方式 要捕獲數(shù)據(jù)包,必須使用數(shù)據(jù)鏈路訪問技術,許多源自 Berkeley 的實現(xiàn)使用 BPF 作為數(shù)據(jù)鏈路層訪問手段,在支持 BPF 的系統(tǒng)上,每個數(shù)據(jù)鏈路驅動程序就在收到一個分組之后或發(fā)送一個分組之前調(diào)用 BPF。通過函數(shù)獲得網(wǎng)絡設備名(一個字符串指針),根據(jù)所獲得的網(wǎng)絡設備名調(diào)用函數(shù)來獲得指定網(wǎng)絡設備的網(wǎng)絡號和掩碼 , 再調(diào)用函數(shù)獲得網(wǎng)絡數(shù)據(jù)包 , 并對捕獲到得數(shù)據(jù)包進行分析,并顯示出來?,F(xiàn)在有很多處理網(wǎng)絡數(shù)據(jù)包的開發(fā)包,本程序主要使用的是 Winsock 技術實現(xiàn)的。同時將所得到的數(shù)據(jù)包存入到 SQL 數(shù)據(jù)庫中,通過對數(shù)據(jù)表的操作,對所捕獲到得數(shù)據(jù)包進行處理。采用 Winsock 來實現(xiàn)捕獲分析網(wǎng)絡數(shù)據(jù)包是簡單可行的。 第三節(jié) 可行性分析 本程序使用的是 Winsock 網(wǎng)絡編程接口實現(xiàn), Windows 下網(wǎng)絡編程 [3]的規(guī)范-Windows Sockets 是 Windows 下得到廣泛應用的、開放的、支持多種協(xié)議的網(wǎng)絡編程接口。 (4). 數(shù)據(jù)包存儲: 將分析得出來的數(shù)據(jù)包通過數(shù)據(jù)表的形式存儲到數(shù)據(jù)庫中。 (2). 數(shù)據(jù)分析:對捕獲的數(shù)據(jù)進行分析處理,獲得數(shù)據(jù)包中的上層信息。顯然,要達到此目的就不能讓網(wǎng)卡按通常的正常模式工作,而必須將其設置為混Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 4 雜模式。 第二節(jié) 需求分析 本程序是一種網(wǎng)絡通訊程序,主要是通過對網(wǎng)卡的編程來實現(xiàn)的,對網(wǎng)卡的編程有很多種方法,通常的套接字程序只能響應與自己硬件地址相匹配的或是以廣播方式發(fā)出的數(shù)據(jù)幀,對于其他 形式的數(shù)據(jù)幀,網(wǎng)絡接口在驗證目的地址并非自身地址之后將不引起響應,也就是說應用程序無法接收到達的數(shù)據(jù)包。而這些開發(fā)和應用的基礎就是網(wǎng)絡數(shù)據(jù)包的捕獲與分析。 Inter 的開放性以及其他方面因素導致了網(wǎng)絡環(huán)境下的計算機系統(tǒng)存在很多安全問題。另一類是被動攻擊,也稱為數(shù)據(jù)型攻擊,它威脅的是數(shù)據(jù)安全。 網(wǎng)絡中存在著各種攻擊 [1]:一是主動 攻擊,也稱為系統(tǒng)型攻擊,它針對的目標是系統(tǒng),威脅的是系統(tǒng)安全。 Windows 下實現(xiàn)網(wǎng)絡數(shù)據(jù)包的捕獲與分析 3 第二章 需求分析 第一節(jié) 需求說明 進入 21 世紀以來,信息安全的重點放在了保護信息,確保信息在存儲、處理、傳輸過程中及信息系統(tǒng)不被破壞,確保對合法用戶的服務和限制非授權用戶的服務,以及必要的防御攻擊的措施。與Visual C ++捆綁的 MFC(Microsoft Foundation Class)提供了大量的封裝良好的類 ,使用戶在使用 Visual C + +時有如虎添翼的感覺?,F(xiàn)在雖然有很多的網(wǎng)絡應用程序 ,但是在很多的情況下 ,需要開發(fā)適合自己使用的網(wǎng)絡應用程序。網(wǎng)絡數(shù)據(jù)包的捕獲在于網(wǎng)絡安全領域 有著無可代替的重要作用,不論是防火墻技術,網(wǎng)絡監(jiān)聽技術或者是網(wǎng)絡測試都離不開數(shù)據(jù)包的捕獲,這是一切的基礎,其他的功能都要基于這個功能才能實現(xiàn)。防火墻也成了一個非常熱門的課題,帶來巨大的社會經(jīng)濟效益,保護我們的合法權益不受到侵害。 第三節(jié) 課題研究的意義 隨著網(wǎng)絡的飛速發(fā)展, Inter 的迅速普及,網(wǎng)絡已經(jīng)深入到了我們的生活,跟我們息息相關。我總是在一些比較著名的軟件下載網(wǎng)站上獲
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1