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

正文內(nèi)容

網(wǎng)絡(luò)數(shù)據(jù)包的捕獲與分析畢業(yè)設(shè)計(jì)-在線瀏覽

2024-08-09 17:15本頁面
  

【正文】 等數(shù)據(jù)包的定義和 TCP/IP 等協(xié)議來解析其中包含的內(nèi)容并返回顯示捕獲到數(shù)據(jù)包的信息,當(dāng)然也可以保存捕獲到的數(shù)據(jù)包到指定地點(diǎn)以便進(jìn)一步分析。網(wǎng)絡(luò)的出現(xiàn)方便人們的日常生活及工作,在高度發(fā)展的今天,網(wǎng)絡(luò)已經(jīng)不僅是瀏覽信息的品臺(tái),還廣泛的運(yùn)用到了商業(yè)、辦公、金融、政務(wù)等各行各業(yè)中,網(wǎng)絡(luò)中的風(fēng)險(xiǎn)也越發(fā)突出,進(jìn)而網(wǎng)絡(luò)安全問題越來越受到關(guān)注。在網(wǎng)絡(luò)中,信息是以數(shù)據(jù)包的形式傳輸,所以為了監(jiān)控計(jì)算機(jī)當(dāng)前網(wǎng)絡(luò)信息,可以通過 WinPcap 來實(shí)現(xiàn)在當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包的抓取,然后通過對(duì)捕獲數(shù)據(jù)包中數(shù)據(jù)信息,進(jìn)行過濾解析,得到所抓數(shù)據(jù)包的協(xié)議、數(shù)據(jù)長(zhǎng)度,以及數(shù)據(jù)報(bào)內(nèi)容等信息。而為了實(shí)現(xiàn)將抓包獲取的數(shù)據(jù)進(jìn)行解析并展現(xiàn)出來,本次畢業(yè)設(shè)計(jì)還要通過 C++編程將其編寫成為軟件,以便于操作運(yùn)用,能讓獲取的數(shù)據(jù)包數(shù)據(jù)進(jìn)行解析后,在界面中顯示出來,方便查看數(shù)據(jù)包各類信息,以及進(jìn)一步的進(jìn)行一些對(duì)應(yīng)操作,達(dá)到我們解析數(shù)據(jù)包的目的,并可在日后能添加新功能,加強(qiáng)對(duì)數(shù)據(jù)包的分析能力。因此,人們迫切的需要能夠分析、診斷和測(cè)試網(wǎng)絡(luò)的工具,以防我們的電腦盡可能減少受到侵害。所以嘗試選擇了這個(gè)課題。所以我們可以清晰的認(rèn)識(shí)到網(wǎng)絡(luò)數(shù)據(jù)包捕獲功能的巨大作用和廣泛的應(yīng)用范圍。有些 sniffer 軟件往往嵌入許多并不怎么使用的功能在里面,增加了操作的復(fù)雜性,使用起來反而不便。作為一名網(wǎng)絡(luò)工程專業(yè)的學(xué)生,熟悉常用的各種計(jì)算機(jī)相關(guān)軟件,特別是和網(wǎng)絡(luò)相關(guān)的軟件是應(yīng)該的。這些產(chǎn)品大多數(shù)品質(zhì)都不錯(cuò),各有各的特點(diǎn),所以選擇起來的難度也挺大。通過一系列的使用和學(xué)習(xí),我希望能夠自己完成一款功能適合自己使用的操作簡(jiǎn)單讓人可以輕易上手的網(wǎng)絡(luò)數(shù)據(jù)包捕獲和簡(jiǎn)單分析的軟件。伴隨著網(wǎng)絡(luò)帶來的便利,網(wǎng)絡(luò)安全問題也越來越受到人們的關(guān)注和重視。我選擇的課題是 windows 下的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲與分析,所以主要的研究方向和側(cè)重點(diǎn)是在于最基本也是最核心的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和分析等功能上。由上所述,加強(qiáng)對(duì)網(wǎng)絡(luò)中數(shù)據(jù)包傳輸?shù)谋O(jiān)管,已經(jīng)越發(fā)顯得重要。本實(shí)驗(yàn)就是通過研究網(wǎng)絡(luò)中數(shù)據(jù)包的傳輸情況,構(gòu)建一個(gè)簡(jiǎn)單快捷的數(shù)據(jù)包抓包及分析軟件:一、運(yùn)用 C++開發(fā)一個(gè)簡(jiǎn)單的軟件實(shí)現(xiàn)通過調(diào)用 winpcap 來對(duì)網(wǎng)絡(luò)中的基本數(shù)據(jù)包進(jìn)行捕獲。三、對(duì)捕獲的數(shù)據(jù)包進(jìn)行解析分類處理,能將所捕獲的數(shù)據(jù)包中的信息解析羅列成數(shù)據(jù)表,并可導(dǎo)入日志文本存儲(chǔ)。 陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 3 頁 共 65 頁2 相關(guān)知識(shí)介紹我們捕獲數(shù)據(jù)包的主要目的就是要對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析。所以我們?nèi)绻敫玫姆治鰯?shù)據(jù)包就應(yīng)該對(duì)此協(xié)議有點(diǎn)初步的了解。 什么是 TCP/IPTCP/IP 是供已連接因特網(wǎng)的計(jì)算機(jī)進(jìn)行通信的通信協(xié)議。TCP/IP 定義了電子設(shè)備(比如計(jì)算機(jī))如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的 7 層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。這 7 層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。這 4 層分別為: 應(yīng)用層:應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件傳輸(SMTP ) 、文件傳輸協(xié)議(FTP ) 、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Tel)等。如傳輸控制協(xié)議(TCP) 、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等, TCP 和 UDP 給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。 網(wǎng)絡(luò)接口層(主機(jī)網(wǎng)絡(luò)層):接收 IP 數(shù)據(jù)報(bào)并進(jìn)行傳輸,從網(wǎng)絡(luò)上接收物理幀,抽取 IP 數(shù)據(jù)報(bào)轉(zhuǎn)交給下一層,對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定義如何使用實(shí)際網(wǎng)絡(luò)(如Ether、Serial Line 等)來傳送數(shù)據(jù)。 IP 層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層TCP 或 UDP 層;相反,IP 層也把從 TCP 或 UDP 層接收來的數(shù)據(jù)包傳送到更低層。IP 數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址) 。也可以這樣說,IP 地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來的。對(duì)于一些 TCP 和 UDP 的服務(wù)來說,使用了該選項(xiàng)的 IP 包好像是從路徑上的最后一個(gè)系統(tǒng)傳遞過來的,而不是來自于它的真實(shí)地點(diǎn)。那么,許多依靠 IP 源地址做確認(rèn)的服務(wù)將產(chǎn)生問題并且會(huì)被非法入侵。TCP 將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。 TCP 將它的信息送到更高層的應(yīng)用程序,例如 Tel 的服務(wù)程序和客戶程序。 面向連接的服務(wù)(例如 Tel、FTP、rlogin、X Windows 和 SMTP)需要高度的可靠性,所以它們使用了 TCP。 TCP 報(bào)文格式 如圖 圖 TCP 報(bào)文格式(3)UDPUDP 與 TCP 位于同一層,但它不管數(shù)據(jù)包的順序、錯(cuò)誤或重發(fā)。相對(duì)于 FTP 或 Tel,這些服務(wù)需要交換的信息量較小。 欺騙 UDP 包比欺騙 TCP 包更容易,因?yàn)?UDP 沒有建立初始化連接(也可以稱為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒有虛電路) ,也就是說,與 UDP 相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。它主要是用來提供有關(guān)通向目的地址的路徑信息。另外,如果路徑不可用了,ICMP 可以使 TCP 連接‘體面地 ’終止。 (5)TCP 和 UDP 的端口結(jié)構(gòu)TCP 和 UDP 服務(wù)通常有一個(gè)客戶/服務(wù)器的關(guān)系,例如,一個(gè) Tel 服務(wù)進(jìn)程開始在系統(tǒng)上處于空閑狀態(tài),等待著連接。客戶程序向服務(wù)進(jìn)程寫入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報(bào)告。(6)常用網(wǎng)際協(xié)議編號(hào)如表 表 常用網(wǎng)際協(xié)議編號(hào)十 進(jìn) 制 編 號(hào) 協(xié) 議 說 明0 無 保 留1 ICMP 網(wǎng) 際 控 制 報(bào) 文 協(xié) 議2 IGMP 網(wǎng) 際 組 管 理 協(xié) 議3 GGP 網(wǎng) 關(guān) —網(wǎng) 關(guān) 協(xié) 議4 無 未 分 配5 ST 流6 TCP 傳 輸 控 制 協(xié) 議8 EGP 外 部 網(wǎng) 關(guān) 協(xié) 議9 IGP 內(nèi) 部 網(wǎng) 關(guān) 協(xié) 議11 NVP 網(wǎng) 絡(luò) 聲 音 協(xié) 議17 UDP 用 戶 數(shù) 據(jù) 報(bào) 協(xié) 議 Winpcap介紹Winpcap(Windows Packet Capture)是 Windows 平臺(tái)下一個(gè)專業(yè)網(wǎng)絡(luò)數(shù)據(jù)包捕獲開發(fā)包,是為 Libpcap 在 Windows 平臺(tái)下實(shí)現(xiàn)數(shù)據(jù)包的捕獲而設(shè)計(jì)的。使用 Winpcap 開發(fā)包,可以把在 Linux 下基于 Libpcap 的程序很容易的移植到 Winpcap 平臺(tái)下。使用 Winpcap 開發(fā)包的主要軟件有: Windump(與 linux 下的 Tcpdump 的功能幾乎一致) 、Analyzer (Windows 下的嗅探器) 、Ethereal(網(wǎng)絡(luò)協(xié)議分析軟件)等。Winpcap 給程序員提供了一套標(biāo)準(zhǔn)的網(wǎng)絡(luò)數(shù)據(jù)包捕獲的編程接口,并且與 Libpcap兼容,增加了從 linux 到 windows 平臺(tái)的可移植性。這是由 NPF 來實(shí)現(xiàn)的,NPF 是 Winpcap 的核心部分,它實(shí)現(xiàn)了內(nèi)核層次的統(tǒng)計(jì)功能,對(duì)于設(shè)計(jì)網(wǎng)絡(luò)流量的程序很有好處。 Winpcap 的組成Winpcap 包括三部分內(nèi)容。它相當(dāng)于在 Linux 下 Libpcap 使用的 BPF 過濾模塊,實(shí)現(xiàn)了高效的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過濾功能,其過濾規(guī)則跟 BPF 是一樣的。第二部分是動(dòng)態(tài)鏈接庫 。第三部分是動(dòng)態(tài)鏈接庫 。使用此接口進(jìn)行編程,幾乎可以把 linux 下使用libpcap 寫的程序原封不動(dòng)的搬到 Windows 平臺(tái)下。并且支持多種工作模式和網(wǎng)絡(luò)驅(qū)動(dòng)類型(小端口驅(qū)動(dòng)、中間層驅(qū)動(dòng)、協(xié)議驅(qū)動(dòng)) ,其中 Winpcap 的 NPF 就屬于協(xié)議驅(qū)動(dòng)類型。圖 NPF 的結(jié)構(gòu)圖 中的箭頭標(biāo)識(shí)網(wǎng)絡(luò)數(shù)據(jù)包的流動(dòng)方向,并且可以看到 NPF 是工作在內(nèi)核層的。數(shù)據(jù)包在 NPF 中使用了緩存機(jī)制,主要是為了提高效率和速度。使用它可以跟內(nèi)核打交道,它是開發(fā)者與內(nèi)核交互的一個(gè)很好的接口。使用 比較煩瑣,如果無特殊要求,一般不用 進(jìn)行編程開發(fā)。圖 中, 是最上層的一個(gè)接口,與 libpcap 兼容,具有很好的可移植性,是用的最多的一種編程接口。 Winpcap 數(shù)據(jù)結(jié)構(gòu)詳細(xì)的一些數(shù)據(jù)結(jié)構(gòu)在后面的軟件編程中會(huì)給出,此處只是給出一些比較核心的數(shù)據(jù)結(jié)構(gòu),并簡(jiǎn)單介紹。(2)pcap_ifPcap_if 數(shù)據(jù)結(jié)構(gòu)定義如下:Tpyedef struct pcap_if pcap_if_t; Struct pcap_if{ Struct pcap_if *next; //指向下一個(gè)網(wǎng)絡(luò)接口結(jié)點(diǎn) char *name; //網(wǎng)絡(luò)接口名字 char *description; //描述信息 Struct sockaddr *addresses; //網(wǎng)絡(luò)接口地址 Bpf_u_int32 flags; //標(biāo)記};此數(shù)據(jù)結(jié)構(gòu)描述的是一個(gè)網(wǎng)絡(luò)接口,它其實(shí)是網(wǎng)絡(luò)接口鏈表中的一個(gè)結(jié)點(diǎn)。 Winpcap 函數(shù)Winpcap 提供的輸出函數(shù)與 Libpcap 的函數(shù)完全一樣,使用方法也一樣。(1)網(wǎng)絡(luò)接口函數(shù):int pcap_findalldevs(pcap_if_t **alldevsp,char *errbuf ) ;此函數(shù)的功能是查找機(jī)器的所有可用網(wǎng)絡(luò)接口,用一個(gè)鏈表返回。pcap_t *pcap_open_live(const char *device,int snaplen,int promisc,int to_ms,char *ebuf);此函數(shù)的功能是打開一個(gè)網(wǎng)絡(luò)接口進(jìn)行數(shù)據(jù)包捕獲打開的模式有 promisc 表示,如果是 1 就表示以混雜模式把接口打開。(3)數(shù)據(jù)包捕獲函數(shù):int pcap_loop(pcap_t *p,int t,pcap_handler callback,u_char *user)此函數(shù)是循環(huán)捕獲網(wǎng)絡(luò)數(shù)據(jù)包,直到遇到錯(cuò)誤或者滿足退出條件。int pcap_next_ex(pcap_t *p,struct pcap_pkthdr **pkt_header,const u_char **pkt_data)此函數(shù)的功能是捕獲一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包。(4)文件相關(guān)函數(shù):pcap_dumper_t *pcap_dump_open(pcap_t *p,const char *fname)此函數(shù)的功能是打開一個(gè)文件,并準(zhǔn)備向其寫入網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。 陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 9 頁 共 65 頁3 系統(tǒng)設(shè)計(jì)方案及功能描述對(duì)于該軟件的設(shè)計(jì)和執(zhí)行過程,主要分為兩個(gè)關(guān)鍵部分,所以按此要求分為中有兩個(gè)核心的工作步驟,第一步是調(diào)用 Winpcap 函數(shù)庫實(shí)現(xiàn)下層抓包,這部分是為了實(shí)現(xiàn)網(wǎng)絡(luò)中的數(shù)據(jù)包獲取,也是最基礎(chǔ)的步驟。下面分別列出兩個(gè)核心過程。第二:獲得當(dāng)前的網(wǎng)卡列表信息,從列表中選取其中所需要的指定網(wǎng)卡。第四:調(diào)用庫函數(shù),pcap_loop() ,并同時(shí)指定其回調(diào)函數(shù),所指定的回調(diào)函數(shù)其實(shí)就是數(shù)據(jù)包分析過程。第二:調(diào)用相符協(xié)議類型的數(shù)據(jù)包分析類。每個(gè)模型中按對(duì)應(yīng)的數(shù)據(jù)包類型構(gòu)造分析算法,完成對(duì)本類型數(shù)據(jù)包的具體解析工作。根據(jù)所分析到的協(xié)議類型進(jìn)行類似的迭代分析。第四:結(jié)束本次分析,等待下一次調(diào)用。開始監(jiān)聽線程圖 設(shè)計(jì)流程圖開發(fā)的這個(gè)系統(tǒng)最主要也是最核心的功能就是對(duì)于網(wǎng)絡(luò)數(shù)據(jù)包的捕獲以及對(duì)于捕獲到 陜西理工學(xué)院畢業(yè)設(shè)計(jì)第 10 頁 共 65 頁的網(wǎng)絡(luò)數(shù)據(jù)包顯示和簡(jiǎn)單的分析。具體實(shí)現(xiàn)功能如下:(1)通過使用 winpcap 庫函數(shù)進(jìn)行數(shù)據(jù)包的捕獲;(2)將捕獲到的數(shù)據(jù)包進(jìn)行分析并顯示;(3)解析出數(shù)據(jù)包使用的協(xié)議、源地址、目的地址、包的大小和內(nèi)容等;(4)在界面的列表中實(shí)時(shí)顯示捕獲到的數(shù)據(jù)包的情況,點(diǎn)擊列表,可以展開此數(shù)據(jù)包的詳細(xì)信息;(5)流量監(jiān)控;(6)導(dǎo)出數(shù)據(jù)。運(yùn)用這一原理使網(wǎng)絡(luò)數(shù)據(jù)包捕獲系統(tǒng)能夠攔截到我們所要的信息,這是捕獲數(shù)據(jù)包的物理基礎(chǔ)。網(wǎng)卡的缺省工作模式包含廣播模式和直接模式,即它只接收廣播幀和發(fā)給自己的幀。 網(wǎng)絡(luò)數(shù)據(jù)包捕獲程序的編寫過程(1)獲取本機(jī)已連接的網(wǎng)絡(luò)適配器列表WinPcap 提供了 pcap_findalldevs_ex() 函數(shù)來實(shí)現(xiàn)這個(gè)功能 : 這個(gè)函數(shù)返回 pcap_if 結(jié)構(gòu)的鏈表, 每個(gè)這樣的結(jié)構(gòu)都包含了一個(gè)適配器的詳細(xì)信息。int pcap_findalldevs_ex ( char * source, struct pcap_rmtauth * auth, pcap_if_t ** alldevs, char * errbuf )(2)打印網(wǎng)卡列表 for(d=alldevs。 d=dnext) { printf(%d. %s, ++i, dname)。 else printf( (No
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1