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

正文內(nèi)容

網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具的設(shè)計與實(shí)現(xiàn)免費(fèi)(論文)-文庫吧資料

2024-12-15 00:57本頁面
  

【正文】 u_long in) { static char output[IPTOSBUFFERS][3*4+3+1]。 //將網(wǎng)卡描述傳遞到 Description中 IP_Address=iptos(((structsockaddr_in*)aaddr))。 捕獲并顯示本機(jī)信息 int getworkcardinfo() //捕獲網(wǎng)卡信息函數(shù) pcap_findalldevs(amp。 其中設(shè)置定時器放在程序的初始化里邊,通過控件顯示定時器每個一秒觸發(fā)一次獲取當(dāng)前時間函數(shù)所得到的 時間。 第 16 頁 共 27 頁 (%2d:%2d:%2d,)。 GetLocalTime(amp。 //目的端口號 其中數(shù)據(jù)包的顯示是通過定時器每隔一秒鐘觸發(fā)調(diào)用一次將捕捉到的數(shù)據(jù)包信息返回插入到 list 表中 定時器和系統(tǒng)時間的獲得 SetTimer(1,1000,NULL); //設(shè)置定時器 ,1000ms觸發(fā)一次 ? ? CDialog::OnTimer(nIDEvent)。 //目的 IP (row,5,sourceport)。 //包頭長度 (row,3,sourceip)。 //協(xié)議類型 (row,1,time1)。 row=()。 設(shè)置第一列為協(xié)議類型,然后第二到七列分別為捕獲到數(shù)據(jù)包的時間戳、包頭長度、源 IP、目的 IP、源端口號和目的端口號。 ( 5, _T(源端口號 ), LVCFMT_LEFT, 60)。 ( 3, _T(源 IP地址 ), LVCFMT_LEFT, 125)。 ( 1, _T(時間 ), LVCFMT_LEFT, 70)。 將 list 的屬性中的 style 里查看選項(xiàng)改成了 report 格式,然后通過插入語 第 15 頁 共 27 頁 句來實(shí)現(xiàn)對表項(xiàng)中每一列顯示信息種類的設(shè)置。其中這里主要說下關(guān)于 list 表的問題。 圖 8 Winpcap環(huán)境設(shè)置 2 設(shè)置工程參數(shù) 新建一個工程后, 第 14 頁 共 27 頁 工程( Project) 設(shè)置( Settings) 選擇 C/C++;在預(yù)處理程序定義 ( Preprocessor definition)里面添加 圖 9 Winpcap環(huán)境設(shè)置 3 WPCAP 即可。 添加路徑時要注意這里不僅要添加頭文件相關(guān)的路徑,還要加入 Libpcap 的的路徑。: No such file or directory。 圖 7 Winpcap環(huán)境配置 1 這里添加路徑要注意自己 Winpcap 安裝時的 WPCAP 和 Include 的文件夾的位置 ,要不然在代碼編譯和連接的時候都會報: Cannot open include file: 39。其中, Include 文件夾中的是 Winpcap 的一些頭文件,編程時必須把此文件夾的路徑包含到 Visual C++的包含頭文件的路徑中;文件夾 Lib 中是開發(fā)程序時用刀的靜態(tài)鏈接庫,編程時此文件夾也必須包含到 Visual C++庫文件路徑中。該文件包括開發(fā)用的頭文件和靜態(tài)鏈接庫文件,是開發(fā)者要用到的。 4 編碼實(shí)現(xiàn) Winpcap環(huán)境設(shè)置 配置環(huán)境首先需要安裝 Winpcap,所使用的是 ,這個是必須安裝的,它是所有基于 Winpcap 的應(yīng)用程序運(yùn)行所必須的。具體功能在后面章節(jié)中會分別詳細(xì)說明。實(shí)質(zhì)是主要實(shí)現(xiàn)一個網(wǎng)絡(luò)實(shí)時監(jiān)聽的功能,然后將 捕捉到的數(shù)據(jù)包保存下來以便進(jìn)一步的分析使用。 下面的圖 4是開發(fā)初期的大體界面框架。大體的一個設(shè)計思路就是這樣子的,具體的各 個功能實(shí)現(xiàn)在軟件編碼部分會詳細(xì)講解。如果執(zhí)行抓包函數(shù),那么將捕獲到的數(shù)據(jù)包的信息保存并解析處里面的信息返回到 list 表中插入顯示出來。在界面上獲取并顯示系統(tǒng)當(dāng)前時間,通過設(shè)置定時器每隔一秒鐘觸發(fā)一次獲取當(dāng)前系統(tǒng)時間來實(shí)現(xiàn)一個時間顯示。 通過 Microsoft Visual C++ MFC 來實(shí)現(xiàn)可視化編程,通過一個簡單的界面來實(shí)現(xiàn)對于捕獲網(wǎng)卡信息 、本機(jī) IP 地址、廣播地址和子網(wǎng)掩碼等信息的獲取顯示。參考了《網(wǎng)絡(luò)安全開發(fā)包詳解》和《 Windows 防火墻和網(wǎng)絡(luò)封包截獲技術(shù)》這兩本書后決定采用 Winpcap 來實(shí)現(xiàn)代碼。 b) void pcap_dump(u_char *user,const struct pcap_pkthdr *h,const u_char *sp) 此函數(shù)的功能是向文件中寫入網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容。 第 10 頁 共 27 頁 此函數(shù)的功能是關(guān)閉 winpcap 操作,并銷毀相應(yīng)資源。 c) void pcap_close(pcap_t *p) 函數(shù)返回值:無。 此函數(shù)的功能時捕獲一個網(wǎng)絡(luò)數(shù)據(jù)包。 b) int pcap_next_ex(pcap_t *p,struct pcap_pkthdr **pkt_header,const u_char **pkt_data) 函數(shù)返回值:函數(shù)操作成功返回 1,如果超時就返回 0,失敗則返回 1或 2。每捕獲一個數(shù)據(jù)包就調(diào)用 callback 指示的回調(diào)函數(shù),所以可以在回調(diào)函數(shù)中對捕獲到的數(shù)據(jù)包進(jìn)行操作。 參數(shù)描述:參數(shù) p 表示 winpcap 的句柄;參數(shù) t為捕獲數(shù)據(jù)包的個數(shù)如果為 1 則表示無限個;參數(shù) callback 表示回調(diào)函數(shù);參數(shù) user 表示回調(diào)函數(shù)中傳輸?shù)膮?shù)。 說明: 此處的過濾規(guī)則只是在內(nèi)核中過濾顯示協(xié)議信息,并非過濾數(shù)據(jù)包,并不能做到對數(shù)據(jù)包的阻塞功能,要想過濾數(shù)據(jù)包可以采用 NDIS 網(wǎng)絡(luò)驅(qū)動在更底層來實(shí)現(xiàn),所以我并沒由添加這部分功能,這里只是提出來說明下有這些功能。 此函數(shù)的功能是打開一個網(wǎng)絡(luò)接口進(jìn)行數(shù)據(jù)包捕獲打開的模式有promisc 表示,如果是 1 就表示以混雜模式把接口打開。 c) pcap_t *pcap_open_live(const char *device,int snaplen,int promisc,int to_ms,char *ebuf); 函數(shù)返回值:返回一個 Libpcap 句柄。 參數(shù)描述:參數(shù) alldevs 表示一個網(wǎng)絡(luò)接口鏈表。 此函數(shù)的功能是查找機(jī)器的所有可用網(wǎng)絡(luò)接口,用一個鏈表返回。 a) int pcap_findalldevs( pcap_if_t **alldevsp,char *errbuf); 函數(shù)返回值:如果操作成功,就返回 0;失敗就返回 1。 Winpcap 函數(shù) Winpcap 提供的輸出函數(shù)與 Libpcap 的函數(shù)完全一樣,使用方法也一樣,呵呵,也就是說掌握了其中任何一種那么恭喜你不論是 windows 下的還是 linux 下的你都已經(jīng)邁出了堅實(shí)的 一大步,至少我個人是這么認(rèn)為的。 Pcap_if 數(shù)據(jù)結(jié)構(gòu)定義如下: Tpyedef struct pcap_if pcap_if_t; Struct pcap_if{ Struct pcap_if *next; //指向下一個網(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)描述的是一個網(wǎng)絡(luò)接口,它其實(shí)是網(wǎng)絡(luò)接口鏈表中的一個結(jié)點(diǎn)。 Winpcap 數(shù)據(jù)結(jié)構(gòu) 詳細(xì)的一些數(shù)據(jù)結(jié)構(gòu)在后面的軟件編程中會給出, 此處只是給出一些比較核心的數(shù)據(jù)結(jié)構(gòu),并簡單介紹。 圖 3 中, 是最上層的一個接口,與 libpcap 兼容,具有很好的可移植性,是用的最多的一種編程接口。使用 比較煩瑣,如果無特殊要求,一般不用 進(jìn)行編程開發(fā)。使用它可以跟內(nèi)核打交道,它是開發(fā)者與內(nèi)核交互的一個很好的接口。數(shù)據(jù)包在 NPF中使用了緩存機(jī)制,主要是為了提高效率和速度。 圖 3 NPF的結(jié)構(gòu) 圖 3 中的箭頭標(biāo)識網(wǎng)絡(luò)數(shù)據(jù)包的流動方向,并且 可以看到 NPF 是工作在內(nèi)核層的。并且支持多種工作模式和網(wǎng)絡(luò)驅(qū)動類型(小端口驅(qū)動、中間層驅(qū)動、協(xié)議驅(qū)動),其中 Winpcap 的 NPF 就屬于協(xié)議驅(qū)動類型。使用此接口進(jìn)行編程,幾乎可以把 linux 下使用 libpcap 寫的程序原封不動的搬到 Windows 平臺下。 第三部分是動態(tài)鏈接庫 。 第二部分是動態(tài)鏈接庫 。它相當(dāng)于在 Linux 下 Libpcap 使用的BPF 過濾模塊,實(shí)現(xiàn)了高效的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和過濾功能,其過濾規(guī)則跟 BPF是一樣的。 Winpcap 的組成 Winpcap 包括三部分內(nèi)容。這是由 NPF 來實(shí)現(xiàn)的, NPF是 Winpcap 的核心部分,它實(shí)現(xiàn)了內(nèi)核層次的統(tǒng)計功能,對于設(shè)計網(wǎng)絡(luò)流量的程序很有好處。 Winpcap 給程序員提供了一套標(biāo)準(zhǔn)的網(wǎng)絡(luò)數(shù)據(jù)包捕獲的編程接口,并且與 Libpcap 兼容,增加了從 linux 到 windows 平臺的可移植性 。 使用 Winpcap 開發(fā)包的主要軟件有: Windump(與 linux 下的 Tcpdump 的功能幾乎一致)、 Analyzer( Windows 下的嗅探器)、 Ethereal(網(wǎng)絡(luò)協(xié)議分析軟件)等。使用 Winpcap 開發(fā)包,可以把在 Linux 下基于 Libpcap 的程序很容易的移植到 Winpcap 平臺下。之所以采用 VC++來實(shí)現(xiàn)是因?yàn)椋? 1.界面設(shè)計簡單 2.面向?qū)ο缶幊?,比較容易實(shí)現(xiàn) 第 5 頁 共 27 頁 3.很容易調(diào)用 Windows 自身的函數(shù) 4.后臺存取規(guī)則容易 5.所見即所得 Winpcap開發(fā)技術(shù)詳解 Winpcap 介紹 Winpcap( Windows Packet Capture)是 Windows 平臺下一個專業(yè)網(wǎng)絡(luò)數(shù)據(jù)包捕獲開發(fā)包,是為 Libpcap 在 Windows 平臺下實(shí)現(xiàn)數(shù)據(jù)包的捕獲而設(shè)計的。所謂可視化技術(shù),一般是指軟件開發(fā)階段的可視化和對計算機(jī)圖形技術(shù)和方法的應(yīng)用。而且其強(qiáng)大的調(diào)試功能也為大型復(fù)雜軟件的開發(fā)提供了有效的排錯手段。 Visual C++自誕生以來,一直是 Windows 環(huán)境下最主要的應(yīng)用開發(fā)系統(tǒng)之一。 OOP 的先進(jìn)編程方法為一般用戶和其他的程序員提供了可以在其他的程序中使用以經(jīng)設(shè)計好的模塊 類的機(jī)會,這樣就完全不必重新編制大量重復(fù)的程序代碼。 面向?qū)ο蟮某绦蛟O(shè)計是結(jié)構(gòu)化語言的自然延伸。所以 OMT徹底實(shí)現(xiàn)了 PAM 沒有完全實(shí)現(xiàn)的目標(biāo)。隨著 OOP(面向?qū)ο缶幊蹋┫?OOD(面向?qū)ο笤O(shè)計)和 OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法 OMT(ObjectModellingTechnique)。一直到很晚才開始制定另一種無連接服務(wù)的有關(guān)標(biāo)準(zhǔn)。后來 ISO 認(rèn)識到網(wǎng)際協(xié)議 IP 第 4 頁 共 27 頁 的重要性,卻已經(jīng)來不及了, Inter 網(wǎng)的超迅猛 發(fā)展給了 OSI 重重一擊,投入了巨大資源 ISO 當(dāng)然不愿放棄自己定義的標(biāo)準(zhǔn)為了補(bǔ)救只好在網(wǎng)絡(luò)層中劃分出一個子層來完成類似 TCP/IP 中 IP 的作用。例如: ,并將網(wǎng)際協(xié)議 IP 作為TCP/IP 的重要組成部分。實(shí)踐才是檢驗(yàn)真理的最佳途徑。 應(yīng)用層: 提供最常用且通用的應(yīng)用程序,包括電子郵件( Email)和文電傳輸?shù)?。主要任務(wù)包括會話管理、傳輸同步以及活動管理等。傳輸層的主要任務(wù)是提供進(jìn)程間通信機(jī)制和保證數(shù)據(jù)傳輸?shù)目煽啃浴? 傳輸層: 主要目的在于彌補(bǔ)網(wǎng)絡(luò)層服務(wù)與用戶需求之間的差距。 LLC 的主要任務(wù)是將有噪聲的物理信道變成無傳輸差錯的通信信道,提供數(shù)據(jù)成幀、差錯控制、流量控制和鏈路控制等功能。 數(shù)據(jù)鏈路層: 分為介質(zhì)訪問控制( MAC)和邏輯鏈路控制( LLC)兩個子層。 學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)的我想大都應(yīng)該知道著名的 OSI 體系結(jié)構(gòu), OSI模型有點(diǎn)太過理想化和復(fù)雜,在時下 Inter 網(wǎng)體系結(jié)構(gòu)非常流行并將其取而代之。 第 2 頁 共 27 頁 2 設(shè)計理論依據(jù) OSI與協(xié)議族 要想輕松搞定抓包程序,除了要有良好的編程能力,還要有扎實(shí)的理論知識,特別是計算機(jī)網(wǎng)絡(luò)方面的知識。我選擇的課題是 windows 下的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲工具的開發(fā)和實(shí)現(xiàn),所以主要的研究方向和側(cè)重點(diǎn)是在于最基本也是最核心的網(wǎng)絡(luò)數(shù)據(jù)包的捕獲和分析等功能上。伴隨著網(wǎng)絡(luò)帶來的便利,網(wǎng)絡(luò)安全問題也越來越受到人們的關(guān)注和重視。通過一系列的使用和學(xué)習(xí),我希望能夠自己完成一款功能適合自己使用的操作簡單讓人可以輕易上手的網(wǎng)絡(luò)數(shù)據(jù)包捕獲和簡單分析的軟件。這些產(chǎn)品大多數(shù)品質(zhì)都不錯,各有各的特點(diǎn),所以選擇起來的難度也挺大。作為一名網(wǎng)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1