九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《網(wǎng)絡(luò)安全實(shí)踐》(共16頁)

  • 資源ID:46660625       資源大?。?span id="24d9guoke414" class="font-tahoma">861KB        全文頁數(shù):17頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《網(wǎng)絡(luò)安全實(shí)踐》(共16頁)

精選優(yōu)質(zhì)文檔-傾情為你奉上網(wǎng)絡(luò)安全實(shí)踐課程項(xiàng)目報(bào)告項(xiàng)目名稱:基于SharpPcap的網(wǎng)絡(luò)嗅探器的設(shè)計(jì)年 級:2010級計(jì)算機(jī)學(xué)院 專 業(yè): 網(wǎng)絡(luò)工程 班 級: 網(wǎng)絡(luò)工程二班 姓 名: 陳緒群 學(xué) 號: 成 績: 指導(dǎo)教師: 盧 正 添 提交報(bào)告時(shí)間: 2013年12月20日摘要: SharpPcap是.Net平臺上高性能的包捕獲開發(fā)工具。本文對SharpPcap的結(jié)構(gòu)和功能進(jìn)行了詳細(xì)的介紹和分析,闡述了基SharpPcap捕獲和分析網(wǎng)絡(luò)數(shù)據(jù)包的方法和主要步驟,并且給出了一個(gè)在.Net平臺上,Microsoft Visual Studio 2008環(huán)境下,基于SharpPcap捕獲和 分析網(wǎng)絡(luò)數(shù)據(jù)包的實(shí)例。該實(shí)例能過濾用戶指定IP地址、端口號和網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包,并在界面實(shí)時(shí)顯示數(shù)據(jù)包的具體信息。本文還研究了基于Sharpcap的局域網(wǎng)數(shù)據(jù)包的捕獲機(jī)制,實(shí)現(xiàn)了.NET平臺下的原始數(shù)據(jù)包捕獲應(yīng)用設(shè)計(jì),解決了.Net下使用原始套接字抓包慢、丟包嚴(yán)重的問題,填補(bǔ)了.Net程序員捕獲原始數(shù)據(jù)包的空白,實(shí)踐證明此方法比較快速、準(zhǔn)確、穩(wěn)定、高效。關(guān)鍵詞:Sharpcap;數(shù)據(jù)包;捕獲;C#;.Net;1. 研究背景網(wǎng)絡(luò)技術(shù)的日新月異,發(fā)展突飛猛進(jìn),計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用越來越廣泛,其作用也越來越重要。但是由于計(jì)算機(jī)系統(tǒng)中軟硬件的脆弱性和計(jì)算機(jī)網(wǎng)絡(luò)的脆弱性以及地理分布的位置、自然環(huán)境、自然破壞以及人為因素的影響,不僅增加了信息存儲、處理的風(fēng)險(xiǎn),也給信息傳送帶來了新的問題。計(jì)算機(jī)網(wǎng)絡(luò)安全問題越來越嚴(yán)重,網(wǎng)絡(luò)破壞所造成的損失越來越大。Internet的安全已經(jīng)成為亟待解決的問題。多數(shù)黑客入侵成功并植入后門后的第一件事就是選擇一個(gè)合適當(dāng)前網(wǎng)絡(luò)的嗅探器,以獲得更多的受侵者的信息。嗅探器是一種常用的收集有用數(shù)據(jù)的方法,可以作為網(wǎng)絡(luò)數(shù)據(jù)包的設(shè)備。網(wǎng)絡(luò)嗅探器就是是利用計(jì)算機(jī)的網(wǎng)絡(luò)接口截獲其他計(jì)算機(jī)的數(shù)據(jù)報(bào)文的一種工具,而且它與一般的鍵盤捕獲程序不同。鍵盤捕獲程序捕獲在終端上輸入的鍵值,而嗅探器捕獲的則是真實(shí)的網(wǎng)絡(luò)報(bào)文.如果把網(wǎng)絡(luò)嗅探器放置于網(wǎng)絡(luò)節(jié)點(diǎn)處,對網(wǎng)絡(luò)中的數(shù)據(jù)幀進(jìn)行捕獲的一種被動監(jiān)聽手段,是一種常用的收集有用數(shù)據(jù)的方法,可以分析各種信息包并描述出網(wǎng)絡(luò)的結(jié)構(gòu)和使用的機(jī)器,由于它接收任何一個(gè)在同一網(wǎng)段上傳輸?shù)臄?shù)據(jù)包,所以也就存在著捕獲密碼、各種信息、秘密文檔等一些沒有加密的信息的可能性。這成為黑客們常用的擴(kuò)大戰(zhàn)果的方法,用來奪取其他主機(jī)的控制權(quán)。當(dāng)然嗅探器的正當(dāng)用處主要是網(wǎng)絡(luò)管理人員分析網(wǎng)絡(luò)的流量,以便找出所關(guān)心的網(wǎng)絡(luò)中潛在的問題。例如,假設(shè)網(wǎng)絡(luò)的某一段運(yùn)行得不是很好,報(bào)文的發(fā)送比較慢,而我們又不知道問題出在什么地方,此時(shí)就可以用嗅探器截獲網(wǎng)絡(luò)中的數(shù)據(jù)包,分析問題的所在。因此研究網(wǎng)絡(luò)底層數(shù)據(jù)包捕獲和分析技術(shù)對于保障網(wǎng)絡(luò)安全有著重要的意義。2. 相關(guān)技術(shù)2.1 開發(fā)環(huán)境與工具M(jìn)icrosoft Visual Studio 2008,Windows 72.2 開發(fā)相關(guān)技術(shù)2.2.1 C#語言簡介C#是在2000年7月發(fā)布的一種全新且簡單、安全、語言,是專門為.NET的應(yīng)用而開發(fā)的語言。它吸收了C+、Visual Basic、Delphi、Java等語言的優(yōu)點(diǎn),體現(xiàn)了當(dāng)今最新的的功能和精華。C#繼承了C語言的語法風(fēng)格,同時(shí)又繼承了C+的特性。不同的是,C#的對象模型已經(jīng)面向Internet進(jìn)行了重新設(shè)計(jì),使用的是.NET的類庫;C#不再提供對類型的支持,使得程序不能隨便訪問空間,從而更加健壯;C#不再支持,避免了以往類層次結(jié)構(gòu)中由于多重繼承帶來的可怕后果。.NET為C#提供了一個(gè)強(qiáng)大的、易用的、一致的程序設(shè)計(jì)環(huán)境。同時(shí),(Common Language Runtime)為C#程序語言提供了一個(gè)托管的運(yùn)行時(shí)環(huán)境,使程序比以往更加穩(wěn)定、安全。其特點(diǎn)有:語言簡潔。 保留了C+的強(qiáng)大功能。 功能。 語言的自由性。 強(qiáng)大的。 支持跨平臺。 與XML相融合。 2.2.2 嗅探技術(shù)簡介數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為幀(Frame)的單位傳輸?shù)?,幀由幾部分組成,不同的部分執(zhí)行不同的功能。幀通過特定的稱為網(wǎng)絡(luò)驅(qū)動程序的軟件進(jìn)行成型,然后通過網(wǎng)卡發(fā)送到網(wǎng)線上,通過網(wǎng)線到達(dá)它們的目的機(jī)器,在目的機(jī)器的一端執(zhí)行相反的過程。接收端機(jī)器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀已到達(dá),然后對其進(jìn)行存儲。就是在這個(gè)傳輸和接收的過程中,存在著安全方面的問題。 每一個(gè)在局域網(wǎng)(LAN)上的工作站都有其硬件地址,這些地址唯一地表示了網(wǎng)絡(luò)上的機(jī)器(這一點(diǎn)與Internet地址系統(tǒng)比較相似)。當(dāng)用戶發(fā)送一個(gè)數(shù)據(jù)包時(shí),這些數(shù)據(jù)包就會發(fā)送到LAN上所有可用的機(jī)器。3 圖示:一個(gè)簡單的局域網(wǎng)組成在一般情況下,網(wǎng)絡(luò)上所有的機(jī)器都可以“聽”到通過的流量,但對不屬于自己的數(shù)據(jù)包則不予響應(yīng)(換句話說,工作站A不會捕獲只屬于工作站B的數(shù)據(jù),而是簡單地忽略這些數(shù)據(jù))。 嗅探器工作在網(wǎng)絡(luò)的底層,在網(wǎng)絡(luò)上監(jiān)聽數(shù)據(jù)包來獲取敏感信息。從原理上來說,在一個(gè)實(shí)際的系統(tǒng)中,數(shù)據(jù)的收發(fā)是由網(wǎng)卡來完成的,網(wǎng)卡接收到傳輸來的數(shù)據(jù),其內(nèi)的單片程序接收數(shù)據(jù)幀的目的MAC地址,根據(jù)計(jì)算機(jī)上的網(wǎng)卡驅(qū)動程序設(shè)置的接收模式判斷該不該接收,認(rèn)為該接收就接收后產(chǎn)生中斷信號通知CPU,認(rèn)為不該接收就丟掉不管,所以不該接收的數(shù)據(jù)網(wǎng)卡就截?cái)嗔?,?jì)算機(jī)根本就不知道。對于網(wǎng)卡來說一般有四種接收模式:a)廣播方式:該模式下的網(wǎng)卡能夠接收網(wǎng)絡(luò)中的廣播信息。b)組播方式:設(shè)置在該模式下的網(wǎng)卡能夠接收組播數(shù)據(jù)。c)直接方式:在這種模式下,只有目的網(wǎng)卡才能接收該數(shù)據(jù)。d)混雜模式:在這種模式下的網(wǎng)卡能夠接收一切通過它的數(shù)據(jù),而不管該數(shù)據(jù)是否是傳給它的。首先,在以太網(wǎng)中是基于廣播方式傳送數(shù)據(jù)的,也就是說,所有的物理信號都要經(jīng)過我的機(jī)器。其次,如果某個(gè)工作站的網(wǎng)絡(luò)接口處于混雜模式,那么它就可以捕獲網(wǎng)絡(luò)上所有的數(shù)據(jù)。嗅探程序是一種利用以太網(wǎng)的特性把網(wǎng)絡(luò)適配卡(NIC,一般為以太網(wǎng)卡)置為混雜模式狀態(tài)的工具,一旦網(wǎng)卡設(shè)置為這種模式,它就能接收傳輸在網(wǎng)絡(luò)上的每一個(gè)信息包,而不管該數(shù)據(jù)是否傳給它的。4 2.2.3 TCP/IP協(xié)議現(xiàn)今因特網(wǎng)上用到的主要協(xié)議有:用戶數(shù)據(jù)報(bào)協(xié)議(UDP),次要文件傳輸協(xié)議(TFTP),網(wǎng)際協(xié)議(IP),因特網(wǎng)控制報(bào)文協(xié)議(ICMP),傳輸控制協(xié)議(TCP),地址轉(zhuǎn)換協(xié)議(ARP),虛終端協(xié)議(Telnet),反向地址轉(zhuǎn)換協(xié)議(RARP),外部網(wǎng)關(guān)協(xié)議(EGP)版本2,引導(dǎo)協(xié)議(BootP),路由信息協(xié)議(RIP),距離向量多播路由協(xié)議(DVMRP)。下面對其中的4個(gè)協(xié)議做一些簡單的介紹: IP :網(wǎng)際協(xié)議IP是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。IP層接收由更低層(網(wǎng)絡(luò)接口層,例如以太網(wǎng)設(shè)備驅(qū)動程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層-TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的,因?yàn)镮P并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。IP數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址(目的地址)。 高層的TCP和UDP服務(wù)在接收數(shù)據(jù)包時(shí),通常假設(shè)包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來的。IP確認(rèn)包含一個(gè)選項(xiàng),叫作IP Source Routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCP和UDP的服務(wù)來說,使用了該選項(xiàng)的IP包好象是從路徑上的最后一個(gè)系統(tǒng)傳遞過來的,而不是來自于它的真實(shí)地點(diǎn)。這個(gè)選項(xiàng)是為了測試而存在的,說明了它可以被用來欺騙系統(tǒng)來進(jìn)行平常是被禁止的連接。那么,許多依靠IP源地址做確認(rèn)的服務(wù)將產(chǎn)生問題并且會被非法入侵。 TCP:如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向上傳送到TCP層。TCP將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。TCP數(shù)據(jù)包中包括序號和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。 TCP將它的信息送到更高層的應(yīng)用程序,例如Telnet的服務(wù)程序和客戶程序。應(yīng)用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設(shè)備驅(qū)動程序和物理介質(zhì),最后到接收方。 面向連接的服務(wù)(例如Telnet、FTP、Rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發(fā)送和接收域名數(shù)據(jù)庫),但使用UDP傳送有關(guān)單個(gè)主機(jī)的信息。 UDP:UDP與TCP位于同一層,但對于數(shù)據(jù)包的順序錯(cuò)誤或重發(fā)。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢-應(yīng)答的服務(wù),例如NFS。相對于FTP或Telnet,這些服務(wù)需要交換的信息量較小。使用UDP的服務(wù)包括NTP(網(wǎng)落時(shí)間協(xié)議)和DNS(DNS也使用TCP)。 欺騙UDP包比欺騙TCP包更容易,因?yàn)閁DP沒有建立初始化連接(也可以稱為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒有虛電路),也就是說,與UDP相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。 ICMP: ICMP與IP位于同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關(guān)通向目的地址的路徑信息。ICMP的Redirect信息通知主機(jī)通向其他系統(tǒng)的更準(zhǔn)確的路徑,而Unreachable信息則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接體面地終止。PING是最常用的基于ICMP的服務(wù)。62.2.4 數(shù)據(jù)包簡介 “包”(Packet)是通信傳輸中的數(shù)據(jù)單位,一般也稱“數(shù)據(jù)包”。有人說,局域網(wǎng)中傳輸?shù)牟皇恰皫?Frame)嗎?沒錯(cuò),但是TCP/IP協(xié)議是工作在第三層()、第四層()上的,而幀是工作在第二層(數(shù)據(jù)鏈路層)。上一層的內(nèi)容由下一層的內(nèi)容來傳輸,所以在局域網(wǎng)中,“包”是包含在“幀”里的。OSI(Open System Interconnection,開放系統(tǒng)互聯(lián))模型是由國際標(biāo)準(zhǔn)化組織(ISO)定義的標(biāo)準(zhǔn),它定義了一種分層體系結(jié)構(gòu),在其中的每一層定義了針對不同通信級別的協(xié)議。OSI模型有5層,1到5層分別是:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。OSI模型在邏輯上可分為兩個(gè)部分:低層的1至3層關(guān)注的是原始數(shù)據(jù)的傳輸;高層的4至5層關(guān)注的是網(wǎng)絡(luò)下的應(yīng)用程序。 2.2.4 SharpPcap2.2.4.1 Sharpcap簡介SharpPcap是Tamir Gal專門為.Net開發(fā)環(huán)境寫的數(shù)據(jù)包捕獲框架,它是Winpcap組件和Windows網(wǎng)絡(luò)核心函數(shù)的完美結(jié)合。該程序集繼承Winpcap又超越Winpcap,它采用了消息機(jī)制,將面向?qū)ο蟮膬?yōu)越性表現(xiàn)的淋漓盡致,同時(shí)還集成了部分網(wǎng)絡(luò)API函數(shù)和讀取注冊表的API函數(shù),。它封裝了接口類、異常類、事件類、數(shù)據(jù)包類等32個(gè)類,適用于C#.Net、VB.Net。2.2.4.1 Sharpcap中主要類的功能(1)LivePcapDeviceList類獲取計(jì)算機(jī)的網(wǎng)卡列表。該類有1個(gè)字段,2個(gè)屬性,4個(gè)方法,主要是獲取本機(jī)的網(wǎng)卡列表和刷新列表。(2)LivePcapDevice類封裝了網(wǎng)卡所有的功能,如捕獲、發(fā)送、過濾等。該類有2個(gè)阻塞設(shè)置字段,7個(gè)網(wǎng)卡信息屬性,12個(gè)網(wǎng)卡操作方法,其中打開網(wǎng)卡方法2次重載,發(fā)送包方法3次重載,另外還有網(wǎng)卡流量統(tǒng)計(jì)信息方法、隊(duì)列發(fā)送方法。由于它繼承了PcapDevice類,因此還有網(wǎng)卡過濾設(shè)置方法,發(fā)送文件,關(guān)閉文件方法,緩沖區(qū)設(shè)置方法,捕捉方法,延時(shí)設(shè)置等多種方法。(3)DeviceMode類枚舉類網(wǎng)卡工作模式。它指定網(wǎng)卡的工作模式是正常還是混雜。(4)PcapInterface類封裝了本機(jī)適配器的所有信息。該類有7個(gè)屬性用來描述適配器名稱、標(biāo)志,本機(jī)IP、MAC,網(wǎng)關(guān)地址等信息。(5)PcapStatistics、StatisticsModePacket類負(fù)責(zé)網(wǎng)絡(luò)統(tǒng)計(jì)信息。PcapStatistics類用來統(tǒng)計(jì)適配器接收到的包,丟棄的包數(shù)目。(6)SendQueue類負(fù)責(zé)發(fā)送包隊(duì)列處理。(7)Sockaddr、Sockaddr.Type類解決了地址簇的問題;PcapUnmanagedStructure類封裝了Winpcap總用到的結(jié)構(gòu)體和常量。(8)WinPcapRequiredException、PacketArrivalEventHandler、CaptureStoppedEventHandler類定義了Sharpcap中產(chǎn)生的所有的異常、消息。(9)ARP類封裝了ARP協(xié)議的所有功能。它提供了2個(gè)重載構(gòu)造函數(shù),3個(gè)屬性用來設(shè)置ARP協(xié)議的幾個(gè)參數(shù),一個(gè)方法獲取目標(biāo)主機(jī)的MAC地址。(10) MiscUtil.Conversion、MiscUtil.IO、PacketDotNet等接口類負(fù)責(zé)所有的接口定義。3.系統(tǒng)分析與設(shè)計(jì)3.1 需求分析(1) 能夠監(jiān)聽所有數(shù)據(jù)包,以及監(jiān)聽指定IP地址的數(shù)據(jù)包;(2) 能夠顯示完整的IP數(shù)據(jù)包首部信息,例如:版本、首部長度、數(shù)據(jù)包長度、數(shù)據(jù)包類型(協(xié)議字段)、TTL、源IP地址、目的IP地址等;(3) 能夠顯示完整的TCP報(bào)文段信息,例如:源端口、目的端口、序號、確認(rèn)號、數(shù)據(jù)部分等;(4) 能夠自動提取FTP的用戶名和密碼;(5) 具有圖形化操作界面。3.2系統(tǒng)體系結(jié)構(gòu)ApplicationPacketDotNet.dllNPF Device Driver Kernel LeverUser LevelPacketsSharpPcap.dll3.3 設(shè)計(jì)方案4.系統(tǒng)實(shí)現(xiàn)4.1 功能實(shí)現(xiàn)4.1.1獲得適配器列表LivePcapDeviceList devices = null;先聲明LivePcapDeviceList類對象,一般該對象都會作為其他類的屬性,因此可以先設(shè)置對象為空。然后在實(shí)現(xiàn)獲取網(wǎng)卡列表的過程中添加下面這個(gè)句子:devices = LivePcapDeviceList.Instance;該句子執(zhí)行了LivePcapDeviceList類中的構(gòu)造函數(shù),在構(gòu)造函數(shù)中實(shí)現(xiàn)的功能類似于Winpcap中的pcap_findalldevs函數(shù)。與其不同的是該構(gòu)造函數(shù)中還調(diào)用了.Net類庫中的NetworkInterface類,能夠檢測當(dāng)前在用的適配器并能返回網(wǎng)卡的MAC和網(wǎng)關(guān)地址。這是Winpcap沒有做到的。4.1.2 打開適配器LivePcapDevice device =null;同上,先聲明類對象。device = devicesselect;然后,將獲得的網(wǎng)卡列表中某一項(xiàng)傳遞給該對象。其中select指明該項(xiàng)在列表中的位置。device. Open(DeviceMode mode);device.Open(DeviceMode mode, int read_timeout);或者device.DumpOpen(string filename);接著是打開適配器了,LivePcapDevice類重載了打開適配器的方法,mode參數(shù)指明了打開適配器的模式,如正常模式、混雜模式,read_timeout參數(shù)為超時(shí)時(shí)間設(shè)置。最后一個(gè)函數(shù)是打開一個(gè)網(wǎng)絡(luò)包文件,由于不經(jīng)常用,不作過多解釋。4.1.3 設(shè)置適配器過濾準(zhǔn)則device.Filter=filterExpression;filterExpression參數(shù)是一個(gè)字符串,它指定適配器的過濾規(guī)則,如”ip and tcp”、”ip and icmp”。4.1.4 進(jìn)行數(shù)據(jù)包捕獲在完成以上工作后,我們可以開始捕獲包了。device.StartCapture();該語句將開啟一個(gè)新的線程,專門負(fù)責(zé)監(jiān)聽適配器是否有數(shù)據(jù)包到來。這個(gè)線程的意義就是同主窗體這個(gè)線程分開,避免了當(dāng)數(shù)據(jù)包到來時(shí)主線程阻塞,造成程序“死掉”。4.1.5 數(shù)據(jù)包的接收數(shù)據(jù)包捕獲過程中最重要的環(huán)節(jié)就是數(shù)據(jù)包的接收,接收的設(shè)計(jì)影響這個(gè)捕獲的效率、準(zhǔn)確度,甚至決定了捕獲數(shù)據(jù)包的成敗。因此,也到了.Net再次發(fā)揮性能優(yōu)勢的地方了。在數(shù)據(jù)包接收之前,必須要建立數(shù)據(jù)包接收函數(shù)的消息映射,該消息映射可以解決類與類之間的安全通信,還大大增強(qiáng)了程序的實(shí)時(shí)性,同時(shí)減緩了CPU的資源開銷。device.OnPacketArrival += new PacketArrivalEventHandler(device_OnPacketArrival);void device_OnPacketArrival(object sender, CaptureEventArgs e).第一個(gè)語句是將數(shù)據(jù)包到來的事件通過消息映射到自定義函數(shù)device_OnPacketArrival上,這里一定要注意device_OnPacketArrival的聲明格式,也就是函數(shù)中的參數(shù)。Sender是消息的發(fā)送方,e參數(shù)是發(fā)送方傳遞過來的消息,該消息類型已在Sharpcap中定義。此時(shí)此刻一定要理解e也是一個(gè)類對象,其中它的屬性中還有一個(gè)類對象Packet,Packet其中一個(gè)屬性Data就是適配器捕捉到的一個(gè)數(shù)據(jù)包,Data是一個(gè)字節(jié)流。因此,不難理解被捕獲到的包是怎樣在類間傳遞的了。在device_OnPacketArrival可以添加自己的處理過程了,所有的檢測工具都是在這個(gè)過程中大展筆墨的。4.1.6 數(shù)據(jù)處理結(jié)果的顯示當(dāng)完成數(shù)據(jù)處理過程后,是不是將自己的結(jié)果直接顯示到主窗體上?答案是否定的。要知道數(shù)據(jù)包捕獲后處理過程是屬于一個(gè)線程的,而窗體是另一個(gè)線程。這里涉及到線程之間的安全通信問題。假設(shè)如果以上所有的過程都沒有在主窗體這個(gè)類下,那么還涉及到類與類之間的安全通信,并且大多數(shù)開發(fā)人員為了增強(qiáng)程序的效率和穩(wěn)定性,通常不會把以上完成的步驟直接放在主窗體類下。但由于方才講述了如何實(shí)現(xiàn)類與類之間通信,此處只講述線程與線程之間的安全通信手段。.Net在解決這個(gè)問題時(shí)提供了一個(gè)解決方案:委托。public delegate void LVDelegateHandler(ListViewItem li);先聲明一個(gè)委托,也就是托管代碼。建立委托的詳細(xì)過程參見參考文獻(xiàn)8。public void UpdateLV(ListViewItem li) .Net平臺下的大多數(shù)控件都有一個(gè)方法:Invoke,該方法將控件顯示與某個(gè)實(shí)現(xiàn)過程通過委托聯(lián)系起來,形成一一映射。不得不提醒一下:建立的委托參數(shù)格式必須與自定義的實(shí)現(xiàn)過程一致。說明:listBox1是一個(gè)顯示控件,showlist是自定義的普通函數(shù),在該函數(shù)中添加顯示處理程序。4.1.7 關(guān)閉適配器在退出數(shù)據(jù)包捕獲程序之前,不要忘記了關(guān)閉適配器。device.StopCapture();device.Close();第一個(gè)語句是停止適配器監(jiān)聽,該語句背后執(zhí)行將適配器監(jiān)聽線程合并到主線程中然后退出。這里采用了常用的關(guān)閉線程的方法,而非使線程強(qiáng)制退出,從而是程序性能更加穩(wěn)定。第二個(gè)句子就是關(guān)掉適配器了。4.1.8 動態(tài)顯示數(shù)據(jù)包分析結(jié)果 這里采用Treeview控件來顯示協(xié)議分析結(jié)果,處理函數(shù)如下:private void listView1_SelectedIndexChanged(object sender, EventArgs e)5.測試與評價(jià)5.1 測試方法以自己設(shè)計(jì)抓包軟件抓取的包同WireShark網(wǎng)絡(luò)抓包軟件抓取的數(shù)據(jù)包對比來測試自己設(shè)計(jì)的抓包軟件是否正常。5.2 測試結(jié)果1.抓取結(jié)果如下:2.對抓取到的同一個(gè)FTP數(shù)據(jù)包進(jìn)行分析比對經(jīng)過比對,抓包的信息完全一致,基本可以判定,自己設(shè)計(jì)的嗅探器在抓包與數(shù)據(jù)分析上沒有問題,而且軟件設(shè)計(jì)的要求基本實(shí)現(xiàn)。5.3系統(tǒng)實(shí)現(xiàn)情況分析實(shí)現(xiàn)功能情況如下:1. 抓包功能2. 數(shù)據(jù)內(nèi)容分析功能3. 協(xié)議分析功能4. 包過濾設(shè)置5. 嗅探器操作6. 個(gè)性化設(shè)置換皮膚換皮膚后:7. 關(guān)于本軟件信息5.4對未來的展望由于基于.Net的sharpPcap無論從界面還是抓取實(shí)現(xiàn)上都比較容易,而且比較RawSocket效率更高,更快,所以,基于SharpPcap的抓包分析軟件在未來我覺得還是很不錯(cuò)。再就是本系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)上由于時(shí)間等的原因,未能完整分析各種包,所以,希望在后面的空閑時(shí)間內(nèi)可以完善該系統(tǒng)。專心-專注-專業(yè)

注意事項(xiàng)

本文(《網(wǎng)絡(luò)安全實(shí)踐》(共16頁))為本站會員(3626209****147198...)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!