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

正文內(nèi)容

網(wǎng)絡(luò)抓包與協(xié)議分析軟件的設(shè)計(jì)與開發(fā)_畢業(yè)設(shè)計(jì)論文-在線瀏覽

2024-10-29 09:17本頁面
  

【正文】 ture, data packet, WinPcap 1 1 緒論 課題來源 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和網(wǎng)絡(luò)時(shí)代的到來,互聯(lián)網(wǎng)的影響已經(jīng)滲透到國民經(jīng)濟(jì)的各個(gè)領(lǐng)域和人民生活的各個(gè)方面,全社會對網(wǎng)絡(luò)的依賴程度越來越大,整個(gè)世界通過網(wǎng)絡(luò)正在迅速地融為一體,但由于計(jì)算機(jī)網(wǎng)絡(luò)具有聯(lián)結(jié)形式多樣性、終端分布不均勻性和網(wǎng)絡(luò)的開放性、互聯(lián)性等特征,致使網(wǎng)絡(luò)易受黑客、惡意軟件和其他不軌的攻擊。網(wǎng)絡(luò)安全涉及的內(nèi)容既有技術(shù)方面的問題,也有管理方面的問題,兩方面相互補(bǔ) 充,缺一不可。如何更有效地保護(hù)重要的信息數(shù)據(jù)、提高計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的安全性已經(jīng)成為所有計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用必須考慮和必須解決的一個(gè)重要問題。但在現(xiàn)實(shí)中,絕對安全的網(wǎng)絡(luò)是沒有的 [1]。 目前美國 75%一 85%的網(wǎng)站都抵擋不住黑客的攻擊,約有 75%的企業(yè)網(wǎng)上信息失竊,其中 25%的企業(yè)損失在 25 萬美元以上.因此了解網(wǎng)絡(luò)面臨的各種威脅,防范和消除這些威脅,實(shí)現(xiàn)真正的網(wǎng)絡(luò)安全已經(jīng)成了網(wǎng)絡(luò)發(fā)展中最重要的事情?,F(xiàn)在網(wǎng)絡(luò)中所使用的協(xié)議都是較早前設(shè)計(jì)的,許多協(xié)議的實(shí)現(xiàn)都是基于一種非常友好的、通信的雙方充分信任的基礎(chǔ)。例如目 2 前使用最廣泛的 TCP/IP 協(xié)議就存在很多安全缺陷,而 FTP、 POP 和 Tel 協(xié)議在本質(zhì)上也是不安全的,從而很多網(wǎng)絡(luò)的攻擊就是針對這些不安全協(xié)議進(jìn)行的。在這件事故中,嗅探器只運(yùn)行 了 18 個(gè)小時(shí)。受攻擊者包括 268 個(gè)站點(diǎn),如麻省理工學(xué)院、美國海軍和空軍、 SUN微系統(tǒng)公司、 IBM、 NASA、 CERFNET 和加拿大、以色列、荷蘭、比利時(shí)的一些大學(xué)的機(jī)器。所謂“中間服務(wù)器”攻擊方式,就是“中間服務(wù)器”冒充真正的服務(wù)器接收用戶傳給服務(wù)器的數(shù)據(jù),然后再冒充用戶把數(shù)據(jù)傳給真正的服務(wù)器。例如:冒充域名服務(wù)器的攻 擊,也就是 DNS 欺騙。據(jù)統(tǒng)計(jì),目前網(wǎng)絡(luò)攻擊手段有數(shù)千種之多;美國商業(yè)雜志《信息周刊》公布的一項(xiàng)調(diào)查報(bào)告稱,黑客攻擊和病毒等安全問題在 2020 年就造成了上萬億美元的經(jīng)濟(jì)損失,在全球范圍內(nèi)每數(shù)秒鐘就發(fā)生一起針對網(wǎng)絡(luò)的不同形式的攻擊事件。這些技術(shù)中,數(shù)據(jù)包的捕獲和分析是最首要的手段,它是諸多網(wǎng)絡(luò)安全技術(shù)實(shí)現(xiàn)的基礎(chǔ)。有 人說,局域網(wǎng)中傳輸?shù)牟皇恰皫保?Frame)嗎?沒錯(cuò),但是 TCP/IP 協(xié)議是工作在OSI 模型第三層(網(wǎng)絡(luò)層),第四層(傳輸層)上的,而幀是工作在第二層(數(shù)據(jù)鏈路層)。用一個(gè)形象一些的例子對數(shù)據(jù)包的概念加以說明:我們在郵局郵寄產(chǎn)品時(shí),雖然產(chǎn)品本身帶有自己的包裝盒,但是在郵寄的時(shí)候只用產(chǎn)品原包裝盒來包裝顯然是不行的。這里,產(chǎn)品包裝盒相當(dāng)于數(shù)據(jù)包,里面放著的產(chǎn)品相當(dāng)于可用的 數(shù)據(jù),而專用紙箱就相當(dāng)于幀,且一個(gè)幀中只有一個(gè)數(shù)據(jù)包。比如在能上網(wǎng)的情況下,把鼠標(biāo)移動(dòng)到任務(wù)欄右下角的網(wǎng)卡圖標(biāo)上單擊就會彈出一個(gè)窗口,如圖 21,就可以看到“發(fā)送:包,收到:包”的提示。如果能把數(shù)據(jù)包捕獲,通過 分 析這些數(shù)據(jù) ,我們 就可以知道網(wǎng)絡(luò)中 這些數(shù)據(jù)包傳輸?shù)男畔?。正是這種基于 CSMS/CD 的廣播機(jī)制,這就給連接在網(wǎng)絡(luò)上的計(jì)算機(jī)捕獲來自于其他主機(jī)的數(shù)據(jù)帶來了可能,即通過對網(wǎng)絡(luò)接口的設(shè)置可以使網(wǎng)卡能夠接收到所有經(jīng)過該機(jī)器的數(shù)據(jù),然后將這些數(shù)據(jù)做相應(yīng)處理并實(shí)時(shí)分析這些數(shù)據(jù)的內(nèi)容,進(jìn)而分析網(wǎng)絡(luò)當(dāng)前狀態(tài)和整體布局。 從廣義的角度上看,一個(gè)包捕獲機(jī)制包含三個(gè)主要部分:首先是最底層針對特定操作系統(tǒng)的包捕獲機(jī)制,然后是最高層針對用戶程序的接口,第三部分是包過濾機(jī)制。數(shù)據(jù)包常規(guī)的傳輸路徑依次為網(wǎng)卡、設(shè)備驅(qū)動(dòng)層、數(shù)據(jù)鏈路層、 IP 層、傳輸層、最后到達(dá)應(yīng)用程序。值得注意的是,包捕獲機(jī)制并不影響操作系統(tǒng)對數(shù)據(jù)包的網(wǎng)絡(luò)棧處理。這樣一來,針對特定操作系統(tǒng)的捕獲機(jī)制對用戶透明,使用戶程序有比較好的可移植性。 5 網(wǎng)絡(luò)數(shù)據(jù)包的捕獲方法 原始套接字 套接字 [3]( Sock)是網(wǎng)絡(luò)應(yīng)用編程接口。有時(shí)候需要自己生成一些定制的數(shù)據(jù)包或者功能并希望繞開套接字的功能 ,原始套接字( Raw Socket)就滿足了這樣的要求。通過原始套接字 ,可以更加自如地控制Windows 下的多種協(xié)議 ,而且能夠?qū)W(wǎng)絡(luò)底層的傳輸機(jī)制進(jìn)行控制。原始套接字的作用主要有三個(gè)方面: 1)接收發(fā)向本機(jī)的 ICMP,IGMP 協(xié)議包 ,或者發(fā)送這些協(xié)議包; 2)接收發(fā)向本機(jī)的 IP 包; 3)發(fā)送自定義的 IP 包。 LibPcap 是一種與系統(tǒng)無關(guān) ,采用分組捕獲機(jī)制的分組捕獲函數(shù)庫 ,用于訪問數(shù)據(jù)鏈路層 ,它在不同的平臺上采用統(tǒng)一的編程接口 ,使用 LibPcap 編寫的程序可以自由地跨 平臺使用。它的應(yīng)用包括網(wǎng)絡(luò)統(tǒng)計(jì)集合 ,安全監(jiān)聽 ,網(wǎng)絡(luò)調(diào)試等。 WinPcap 是集成于 Windows95,98,ME,NT,2020和 XP操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序 ,它可以從網(wǎng)卡捕獲或者發(fā)送原始數(shù)據(jù) ,同時(shí)能夠過濾并且倉儲數(shù)據(jù)包。它提供以下四項(xiàng)功能: 1) 捕獲原始數(shù)據(jù)報(bào) ,包括共享網(wǎng)絡(luò)上各主機(jī)發(fā)送 /接收的以及相互之間交換的數(shù)據(jù) 6 報(bào); 2) 在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過濾掉; 3) 在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào); 4) 收集網(wǎng)絡(luò)通信過程中的統(tǒng)計(jì)信息。這個(gè)包用到了 LibPcap和原始套接字 API。 JPcap 是一個(gè) Java 類集合,它為網(wǎng)絡(luò)數(shù)據(jù)包的捕獲提供接口和系統(tǒng)支持。 WinPcap 研究 WinPcap 是 windows 平臺下一個(gè)免費(fèi)、公共的網(wǎng)絡(luò)訪問系統(tǒng),是為 Linux 下的Libpcap 移植到 Windows 平臺下實(shí)現(xiàn)數(shù)據(jù)包捕獲而設(shè)計(jì)的函數(shù)庫,在設(shè)計(jì) WinPcap 時(shí)參照了 Libpcap,使用方法也與 Libpcap 相似,基于 Libpcap 的程序可以很容易的移植到Windows 平臺下。 WinPcap 的最新版本是 。 WinPcap 提供了四項(xiàng)功能: 1)捕獲原始數(shù)據(jù)報(bào),包括共享網(wǎng)絡(luò)上各主機(jī)發(fā)送 /接收的以及相互之間交換的數(shù)據(jù)報(bào); 7 2)在數(shù)據(jù)報(bào)發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)報(bào)過濾掉; 3)在網(wǎng)絡(luò)上發(fā)送原始的數(shù)據(jù)報(bào); 4)收集網(wǎng)絡(luò)通信過程中的統(tǒng)計(jì)信息。因此,它不能用于 QoS 調(diào)度程序或個(gè)人防火墻。有個(gè)軟件叫 sniffer pro 可以作網(wǎng)管軟件用,有很多功能,可監(jiān)視網(wǎng)絡(luò)運(yùn)行情況,每臺網(wǎng)內(nèi)機(jī)器的數(shù)據(jù)流量,實(shí)時(shí)反映每臺機(jī)器所訪問 IP 以及它們之間的數(shù)據(jù)流通情況,可以抓包,可對過濾器進(jìn)行設(shè)置,以便只抓取想要的包,比如 POP3 包, smtp 包, ftp包等,并可從中找到郵箱用戶名和密碼,還有 ftp 用戶名和密碼。還有一個(gè)簡單的監(jiān)聽軟件叫Passwordsniffer,可截獲郵箱用戶名和密碼,還有 ftp 用戶名和密碼,它只能用在 HUB網(wǎng)絡(luò)上。 WinPcap 提供給用戶兩個(gè)不同級別的編程接口:一個(gè)基于 libpcap 的 ,另一 個(gè)是較底層的 。 WinPcap 內(nèi)部結(jié)構(gòu) Winpcap 是針對 Win32 平臺上的抓包和網(wǎng)絡(luò)分析的一個(gè)架構(gòu),它由內(nèi)核級的網(wǎng)絡(luò)組包過濾器( Netgroup Packet Filter, NPF)、用戶級的動(dòng)態(tài)鏈接庫 和 等 3個(gè)模塊組成 [7]。它是運(yùn)行于操作系統(tǒng)內(nèi)核中的驅(qū)動(dòng)程序,它直接與網(wǎng)卡驅(qū)動(dòng)程序進(jìn)行交互,獲取在網(wǎng)絡(luò)上傳輸?shù)脑紨?shù)據(jù)包。在 Win95/98/ME 系統(tǒng)中,它以 VXD 文件形式存在,在 Windows NT 和 Windows 2020 系統(tǒng)中,它以 SYS 文件形式存在。 2) 低級動(dòng)態(tài)鏈接庫。不同的 Windows 版本在用戶態(tài)和內(nèi)核態(tài)之間提供互不相同的接口,而 可以屏蔽這些接口區(qū)別,提供一個(gè)與系統(tǒng)無關(guān)的 API。 可以執(zhí)行如獲取適配器名稱、動(dòng)態(tài)驅(qū)動(dòng)器加載以及獲得主機(jī)掩碼及以太網(wǎng)沖突次數(shù)等低級操作。 模塊與 Unix 系統(tǒng)下的 BSD 截獲架構(gòu)提供的 Libpcap庫完全兼容。 含有諸如產(chǎn)生過濾器、定義用戶級緩沖以及包注入等高級功能 。 的函數(shù)調(diào)用會自動(dòng)調(diào)用 中的低級函數(shù),并且可能被轉(zhuǎn)換成若干個(gè)NPF 系統(tǒng)調(diào)用??梢圆槐蛔枞? 6) int pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **) 捕獲數(shù)據(jù)包 9 7) int pcap_pile(pcap_t *, struct bpf_program *, const char *, int, bpf_u_int32) 編譯一個(gè)過濾設(shè)備,與 pcap _ setfilter () 配合使用 8) int pcap_setfilter(pcap_t *, struct bpf_program *) 用來聯(lián)系一個(gè)在內(nèi)核驅(qū)動(dòng)上過濾的過濾器 ,這時(shí)所有網(wǎng)絡(luò)數(shù)據(jù)包都將流經(jīng)過濾器,并拷貝到應(yīng)用程序中 10 3 系統(tǒng)設(shè)計(jì) 捕獲數(shù)據(jù)的分析與還原 對捕獲數(shù)據(jù)的解析,其主要依據(jù)是網(wǎng)絡(luò)協(xié)議中定義的各種包的類型和包的格式,下面依次對這些數(shù)據(jù)的格式與協(xié)議進(jìn)行介紹與分析。根據(jù)以太網(wǎng)數(shù)據(jù)鏈路層的幀格式,網(wǎng)絡(luò)適配器的驅(qū)動(dòng)程序會自動(dòng)計(jì)算校驗(yàn)和,并取走幀中的前同步碼和校驗(yàn)和字段,因此 WinPcap 接收的數(shù)據(jù)包僅僅是其中的幀頭和載荷部分,即捕獲到的是幀結(jié)構(gòu)中的“目標(biāo) MAC 地址”、“源 MAC 地址”、“幀類型”、“幀中數(shù)據(jù)”這四部分。 IP 報(bào)文的分析與還原 首先來看下 IP數(shù)據(jù)報(bào)格式 [8],如圖 31所示 : 圖 31 IP數(shù)據(jù)報(bào)格式 版本: 4 位,標(biāo)識 IP版本號。我們目前所用的 IP 協(xié)議基本都是 IPv4 版本。由圖 31可知首部所占字節(jié)數(shù)為( 4+4+8+16+16+3+13+8+8+16+32+32+0)= 160bit,正好是 32bit 的5 倍,所以首部長度最小為 5。由上面也可知 IP首部最小 長度為 20字節(jié),最大長度為( 2的 4次方 1) *32/8= 60字節(jié)。 TOS: 4 位,分別表示最小延時(shí)、最大吞吐量、最高可靠性、最小費(fèi)用。 未使用: 1位,必須置 0。利用首部長度字段和總長度字段,就可以知道 I P 數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長度。 標(biāo)識: 16位,唯一地標(biāo)識主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)。 IP 軟件在存儲器中維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器就加 1,并將此值賦給標(biāo)識字段。當(dāng)數(shù)據(jù)報(bào)由于長度超過網(wǎng)絡(luò)的 MTU 而必須分片時(shí),這個(gè)標(biāo)識字段的值就被復(fù)制到所有的數(shù)據(jù)報(bào)的標(biāo)識字段中。在分片和重組技術(shù)中將會用到。標(biāo)志字 段中的最低位記為 MF( More Fragment)。標(biāo)志字段中間的一位記為 DF( Don39。只有當(dāng) DF=0時(shí)才允許分片,具體定義如下: 1) 保留位: 1位 ; 2) DF 字段: 1位,取值: 0(允許數(shù)據(jù)報(bào)分段)、 1(數(shù)據(jù)報(bào)不能分段); 3) MF 字段: 1位,取值: 0(數(shù)據(jù)包后面沒有包,該包為最后的包)、 1(數(shù)據(jù)包后面有更多的包)。片偏移指出:較長的分組在分片后,某片在原分組中的相對位置 ,也就是說,相對用戶數(shù)據(jù)字段的起點(diǎn),該片從何處開始。 12 生存時(shí)間: 8 位,生存時(shí)間字段常用的的英文縮寫是 TTL( Time To Live),表明是數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命。最初的設(shè)計(jì)是以秒作為TTL 的單位。若數(shù)據(jù)報(bào)在路由器消耗的時(shí)間小于 1 秒,就把 TTL 值減 1。一般可以理解為經(jīng)過路由器的最大數(shù)目。協(xié)議字段指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議(上層協(xié)議),以便使目的主機(jī)的 IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)處理過程。 首部校驗(yàn)和: 16 位,首部檢驗(yàn)和字段是根據(jù) IP 首部計(jì)算的檢驗(yàn)和碼,它不對首部后面的數(shù)據(jù)進(jìn)行計(jì)算。為了計(jì)算一份數(shù)據(jù)報(bào)的 IP 檢驗(yàn)和,首先把檢驗(yàn)和字段置為 0,然 后對首部中每個(gè) 16bit 進(jìn)行二進(jìn)制反碼求和(整個(gè)首部看成是由一串 16 bit 的字組成),結(jié)果存在檢驗(yàn)和字段中。由于接收方在計(jì)算過程中包含了發(fā)送方存在首部中的檢驗(yàn)和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯(cuò),那么接收方計(jì)算的結(jié)果應(yīng)該為全 1,如果結(jié)果不是全 1(即檢驗(yàn)和錯(cuò)誤),那么 IP就丟棄收到的數(shù)據(jù)報(bào),但是不生成差錯(cuò)報(bào)文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報(bào)并進(jìn)行重傳。 目的 IP 地址: 32 位,數(shù)據(jù)發(fā)往的 IP 主機(jī)地址。 UDP 數(shù)據(jù)報(bào)格式有首部和數(shù)據(jù)兩個(gè)部分 ,如圖 32: 13 圖 32 UDP數(shù)據(jù)報(bào)格式 首部很簡單,共 8字節(jié) ,如圖 33: 圖 33 UDP首部 包括: 源端口( Source Port): 2字節(jié),源端口號。 長度(
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1