版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> xxxxxxx</b></p><p> 信息科學(xué)與技術(shù)學(xué)院畢業(yè)論文</p><p> 課題名稱(chēng):網(wǎng)絡(luò)協(xié)議仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 學(xué)生姓名:xxxxxxxxxxxxx</p><p> xxxxxxxxxxxxx</p><p> 學(xué) 院:信息
2、科學(xué)與技術(shù)學(xué)院</p><p> 專(zhuān)業(yè)年級(jí):信息管理與信息系統(tǒng)</p><p> 指導(dǎo)教師:xxxxxx 講師</p><p> 完成日期:年 月</p><p> 網(wǎng)絡(luò)協(xié)議仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 學(xué)生:xxxxxxxxx</p><p> 指導(dǎo)
3、老師:xxxxx</p><p> [摘 要]由于網(wǎng)絡(luò)模型和協(xié)議的抽象性,即使專(zhuān)業(yè)人員對(duì)其理解也有很大困難。為了將抽象的難以理解的網(wǎng)絡(luò)模型框架、協(xié)議原理、網(wǎng)絡(luò)應(yīng)用等專(zhuān)業(yè)知識(shí),用易于理解的通俗易懂的形式將其理解。非專(zhuān)業(yè)的人員在使用網(wǎng)絡(luò)協(xié)議仿真軟件的同時(shí)可以對(duì)網(wǎng)絡(luò)協(xié)議有基本的理解,有一定專(zhuān)業(yè)知識(shí)的人員更好的理解網(wǎng)絡(luò)協(xié)議原理、掌握學(xué)習(xí)要領(lǐng)。</p><p> 本課題通過(guò)對(duì)網(wǎng)絡(luò)抓包軟件的實(shí)現(xiàn),
4、來(lái)詳細(xì)深入的了解網(wǎng)絡(luò)協(xié)議如何工作,文中首先分析了抓包的原理和技術(shù),并介紹了幾種常見(jiàn)的抓包軟件,然后研究了入侵檢測(cè)系統(tǒng)中使用的包捕獲技術(shù),利用winpcap接字在windows平臺(tái)下實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)抓包軟件程序,具有對(duì)數(shù)據(jù)包進(jìn)行拆包、解包等功能,最后通過(guò)動(dòng)畫(huà)演示生動(dòng)形象的描述網(wǎng)絡(luò)協(xié)議如何運(yùn)行。</p><p> [關(guān)鍵詞] 網(wǎng)絡(luò)抓包軟件 數(shù)據(jù)包捕獲 數(shù)據(jù)包分析 Winpcap</p><p
5、> Network protocol emulation software design </p><p> and implementation</p><p> Students:xxxxxxxxxxx</p><p> Instructor:xxxxxxxxx</p><p> [Abstract] As the net
6、work model and agreement of the abstract, even to the professional understanding will have great difficulty. In order to bring the abstract to understand the network model of the framework agreement, principle, network a
7、pplication and other professional knowledge, in an understandable easy-to-read formats will be the understanding. Casual personnel to use network protocol emulation software on the network at the same time can be a basic
8、 understanding of the agreement, have c</p><p> This topic through network caught software to realize, to a detailed understanding of how the network protocol, this paper first analyzes the principle and te
9、chnology of caught, and introduces several common caught software, and then studied the intrusion detection system used in the packet capture technology, using winpcap meet word in Windows the workbench implements a netw
10、ork caught a software program, has for packet for unpacking, solution package, and other functions, the last through the a</p><p> [Key words] network sniffe ; capture data packet ; analyze data capture ; W
11、inpcap</p><p><b> 目錄</b></p><p><b> 第一章緒論1</b></p><p> 1.1 課題背景1</p><p> 1.2 課題研究的目的及意義1</p><p><b> 1.3 任務(wù)書(shū)1</b&
12、gt;</p><p> 1.3.1 設(shè)計(jì)時(shí)間1</p><p> 1.3.2 課題分工2</p><p> 1.3.3 設(shè)計(jì)成果2</p><p> 1.3.4 論文組織2</p><p> 第二章網(wǎng)絡(luò)協(xié)議及協(xié)議仿真技術(shù)3</p><p> 2.1 網(wǎng)絡(luò)協(xié)議3<
13、/p><p> 2.1.1 OSI七層參考模型3</p><p> 2.1.2 TCP/IP參考模型3</p><p> 2.1.3 OSI模型與TCP/IP模型的比較4</p><p> 2.1.4 主要協(xié)議5</p><p> 2.1.5 數(shù)據(jù)包在TCP/IP網(wǎng)絡(luò)中的封裝解封過(guò)程10</p&g
14、t;<p> 2.2 仿真技術(shù)簡(jiǎn)介11</p><p> 2.3 反嗅探措施13</p><p> 2.3.1 嗅探的檢測(cè)13</p><p> 2.3.2 嗅探的防御13</p><p> 2.4 Windows下的網(wǎng)絡(luò)嗅探及WinPcap研究13</p><p> 2.4.1 W
15、inPcap簡(jiǎn)介13</p><p> 2.4.2 WinPcap體系結(jié)構(gòu)16</p><p> 2.4.3 Windows下的網(wǎng)絡(luò)嗅探19</p><p> 2.4.4 基于WinPcap的包捕獲過(guò)程21</p><p> 第三章需求分析與動(dòng)畫(huà)演示設(shè)計(jì)23</p><p> 3.1 功能需求2
16、3</p><p> 3.2 性能需求23</p><p> 3.3 可行性分析24</p><p> 3.4 動(dòng)畫(huà)演示設(shè)計(jì)24</p><p> 第四章詳細(xì)設(shè)計(jì)28</p><p> 4.1 開(kāi)發(fā)環(huán)境28</p><p> 4.2 系統(tǒng)功能模塊圖29</p>
17、;<p> 4.3 系統(tǒng)流程圖30</p><p> 4.4 詳細(xì)設(shè)計(jì)31</p><p> 4.4.1 界面實(shí)現(xiàn)31</p><p> 4.4.2 選擇網(wǎng)卡34</p><p> 4.4.3 過(guò)濾規(guī)則34</p><p> 4.4.4 數(shù)據(jù)包捕獲36</p><
18、;p> 4.4.5 數(shù)據(jù)包分析37</p><p> 第五章系統(tǒng)測(cè)試46</p><p> 5.1編寫(xiě)目的46</p><p> 5.2測(cè)試概要46</p><p> 5.3對(duì)軟件功能的評(píng)價(jià)49</p><p> 第六章開(kāi)發(fā)總結(jié)51</p><p><b&
19、gt; 致謝53</b></p><p><b> 緒論</b></p><p><b> 課題背景</b></p><p> 近年來(lái),數(shù)據(jù)通信網(wǎng)絡(luò)無(wú)論就其物理的規(guī)模還是應(yīng)用范圍來(lái)講,都獲得了巨大的發(fā)展。Internet上不斷地有新的需求出現(xiàn),人們開(kāi)發(fā)新的協(xié)議和算法來(lái)滿(mǎn)足這些變化的需求。這種需求的例子
20、包括服務(wù)質(zhì)量支持、組播傳輸、安全性、移動(dòng)組網(wǎng)和策略管理。對(duì)這些領(lǐng)域的協(xié)議和算法的開(kāi)發(fā)和評(píng)價(jià)要求人們回答很多設(shè)計(jì)上的問(wèn)題。由于網(wǎng)絡(luò)協(xié)議是抽象的,很多學(xué)生不易理解,所以用仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)來(lái)了解網(wǎng)絡(luò)協(xié)議。</p><p> 本論文采用了WinPcap驅(qū)動(dòng)對(duì)鏈路層數(shù)據(jù)幀進(jìn)行高效捕獲,并針對(duì)四種具體協(xié)議ARP、IP、TCP、UDP進(jìn)行協(xié)議分析。借助WinPcap來(lái)研究Windows平臺(tái)下的網(wǎng)絡(luò)協(xié)議仿真技術(shù)是具有現(xiàn)實(shí)意
21、義的,這不僅能促進(jìn)網(wǎng)絡(luò)嗅探系統(tǒng)的改進(jìn)和發(fā)展,還能促進(jìn)WinPcap本身的發(fā)展。在本論文的程序開(kāi)發(fā)過(guò)程中涉及到較多方面,如協(xié)議分析,MFC編程,及對(duì)WinPcap驅(qū)動(dòng)框架的理解,這些工作在很大程度上加深了自己對(duì)網(wǎng)絡(luò)協(xié)議應(yīng)用的理解。本課題主要通過(guò)對(duì)數(shù)據(jù)包的抓捕與分析機(jī)制進(jìn)行研究, 參考了大量有關(guān)抓捕數(shù)據(jù)包的專(zhuān)業(yè)文獻(xiàn),由此了解國(guó)內(nèi)以及國(guó)際上主要的抓捕分析數(shù)據(jù)包的技術(shù)方法,并通過(guò)制作一個(gè)共享環(huán)境下的的數(shù)據(jù)抓包軟件的具體實(shí)現(xiàn)以對(duì)該機(jī)制進(jìn)行深一步的
22、了解。</p><p> 課題研究的目的及意義</p><p> 網(wǎng)絡(luò)協(xié)議具有抽象、難以理解等特點(diǎn),學(xué)生在學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)課程時(shí)總感到協(xié)議難懂、不具體。設(shè)計(jì)一個(gè)網(wǎng)絡(luò)協(xié)議仿真軟件可形象的將網(wǎng)絡(luò)協(xié)議的運(yùn)行原理和過(guò)程演示出來(lái),學(xué)生對(duì)網(wǎng)絡(luò)原理理解就會(huì)更深、學(xué)習(xí)的進(jìn)度也會(huì)加快。</p><p> 由于網(wǎng)絡(luò)模型和協(xié)議的抽象性,即使專(zhuān)業(yè)人員對(duì)其理解也有很大困難。為了將抽象
23、的難以理解的網(wǎng)絡(luò)模型框架、協(xié)議原理、網(wǎng)絡(luò)應(yīng)用等專(zhuān)業(yè)知識(shí),用易于理解的通俗易懂的形式將其理解。非專(zhuān)業(yè)的人員在使用網(wǎng)絡(luò)協(xié)議仿真軟件的同時(shí)可以對(duì)網(wǎng)絡(luò)協(xié)議有基本的理解,有一定專(zhuān)業(yè)知識(shí)的人員更好的理解網(wǎng)絡(luò)協(xié)議原理、掌握學(xué)習(xí)要領(lǐng)。</p><p><b> 任務(wù)書(shū)</b></p><p><b> 設(shè)計(jì)時(shí)間</b></p><p>
24、; ?。?)第1-3周 搜集相關(guān)文獻(xiàn)文檔</p><p> ?。?)第4周 系統(tǒng)功能模塊分析</p><p> (3)第5周 系統(tǒng)技術(shù)實(shí)現(xiàn)分析 </p><p> ?。?)第6-13周 程序編寫(xiě),系統(tǒng)調(diào)試,相關(guān)文檔的撰寫(xiě)</p><p> (5)第14周 完善系統(tǒng)和對(duì)論文的撰寫(xiě)
25、</p><p> (6)第15周 準(zhǔn)備預(yù)審和相關(guān)畢業(yè)答辯文檔</p><p> ?。?)第16周 終期答辯</p><p><b> 總計(jì)16周</b></p><p><b> 課題分工</b></p><p> 徐婷:開(kāi)題報(bào)告、文獻(xiàn)綜述
26、、論文初稿搜集整理相關(guān)文獻(xiàn)資料、需求分析、系統(tǒng)測(cè)試</p><p> 饒冬冬:功能模塊的分析和設(shè)計(jì)、動(dòng)畫(huà)演示制作、系統(tǒng)調(diào)試修改</p><p> 共同合作:結(jié)構(gòu)設(shè)計(jì)、整體模塊設(shè)計(jì)、系統(tǒng)編寫(xiě)實(shí)現(xiàn)</p><p><b> 設(shè)計(jì)成果</b></p><p> 畢業(yè)設(shè)計(jì)相關(guān)文獻(xiàn)及成果清單包括:</p>&
27、lt;p><b> 可執(zhí)行軟件一份</b></p><p><b> 《開(kāi)題報(bào)告》</b></p><p><b> 《文獻(xiàn)綜述》</b></p><p><b> 《用戶(hù)手冊(cè)》</b></p><p> 《XX大學(xué)信息科學(xué)與技術(shù)學(xué)院201
28、2畢業(yè)設(shè)計(jì)論文》</p><p><b> 論文組織</b></p><p> 下面是本論文的章節(jié)組織:</p><p> 第一章:緒論,概括介紹了論文的研究背景、研究目的及意義。</p><p> 第二章:網(wǎng)絡(luò)協(xié)議及協(xié)議仿真技術(shù),系統(tǒng)介紹網(wǎng)絡(luò)協(xié)議框架結(jié)構(gòu),每層的相關(guān)的協(xié)議,以及協(xié)議仿真技術(shù)的知識(shí),包括嗅探的原理
29、,以及一些反嗅探的方法。研究分析網(wǎng)絡(luò)TCP/IP協(xié)議,并對(duì)本嗅探器基于的 WinPcap的框架體系進(jìn)行深入地研究。</p><p> 第三章:需求分析與可行性分析,動(dòng)畫(huà)演示設(shè)計(jì)。 </p><p> 第四章:主要是網(wǎng)絡(luò)數(shù)據(jù)包捕獲工具實(shí)現(xiàn)的詳細(xì)步驟及設(shè)計(jì),主要分為界面,網(wǎng)卡選擇模塊、數(shù)據(jù)包過(guò)濾模塊、數(shù)據(jù)包捕獲模塊和數(shù)據(jù)包分析模塊。</p><p> 第五章:對(duì)本
30、文所構(gòu)建的數(shù)據(jù)包嗅探器進(jìn)行測(cè)試,實(shí)驗(yàn)證明系統(tǒng)達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。</p><p> 第六章:總結(jié)了本論文的主要工作。</p><p> 網(wǎng)絡(luò)協(xié)議及協(xié)議仿真技術(shù) </p><p><b> 網(wǎng)絡(luò)協(xié)議</b></p><p> OSI七層參考模型</p><p> 要使兩臺(tái)計(jì)算機(jī)進(jìn)行通信
31、,必須讓它們使用同一種“語(yǔ)言”,通信協(xié)議就是兩臺(tái)計(jì)算機(jī)交換信息所使用的共同語(yǔ)言,它規(guī)定了通信雙方在通信中所應(yīng)共同遵守的規(guī)則,精確地定義了計(jì)算機(jī)在相互通信過(guò)程中的所有細(xì)節(jié)。我們利用一個(gè)共同遵守的通信協(xié)議,從而使Intemet成為一個(gè)允許連接不同類(lèi)型的計(jì)算機(jī)和不同操作系統(tǒng)的網(wǎng)絡(luò)。例如,協(xié)議規(guī)定了每臺(tái)計(jì)算機(jī)發(fā)送報(bào)文的格式和每個(gè)字段的含義,還規(guī)定了在各種情況下計(jì)算機(jī)應(yīng)該做出什么反應(yīng),以避免差錯(cuò)從而達(dá)到最好的通信效果。</p>&l
32、t;p> 在網(wǎng)絡(luò)歷史的早期,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電報(bào)電話咨詢(xún)委員會(huì)(CCITT)共同出版了開(kāi)放系統(tǒng)互聯(lián)的七層參考模型[6],它是一種抽象的包含七層通信協(xié)議的參考模型,其中每一層執(zhí)行某一規(guī)定的任務(wù),每層之間都有相應(yīng)的接口,除了第一層和第七層外,每一層即使用下層提供的服務(wù),又給上層提供服務(wù),也就是說(shuō)它即是服務(wù)的享有者,又是服務(wù)的提供者。這種設(shè)計(jì)模型可以簡(jiǎn)化協(xié)議開(kāi)發(fā)過(guò)程中的難度,每一層只需做好該層的工作并提供好向上的接口即可
33、,在保證每一層實(shí)現(xiàn)效率的前提下,具體怎么實(shí)現(xiàn)要根據(jù)具體情況來(lái)確定。該模型的目的是使各種硬件在相同的層次上相互通信,表21表示了OSI七層參考模型。</p><p> 表2-1 OSI七層參考模型</p><p> 按照OSI開(kāi)放系統(tǒng)互聯(lián)參考模型的觀點(diǎn),可將網(wǎng)絡(luò)系統(tǒng)劃分為7層結(jié)構(gòu),每一個(gè)層次上運(yùn)行著不同的協(xié)議和服務(wù),并且上下層之間互相配合,完成網(wǎng)絡(luò)數(shù)據(jù)交換的功能。然而,OSI模型僅僅是
34、一個(gè)參考模型,并不是實(shí)際網(wǎng)絡(luò)中應(yīng)用的模型。實(shí)際上應(yīng)用最廣泛的商用網(wǎng)絡(luò)模型是TCP/IP網(wǎng)絡(luò)參考模型,將網(wǎng)絡(luò)劃分為四層,每一個(gè)層次上運(yùn)行著不同的協(xié)議和服務(wù)[4]。</p><p> TCP/IP參考模型</p><p> TCP/IP參考模型被稱(chēng)作因特網(wǎng)分層模型、因特網(wǎng)參考模型(Intemet Reference Model),表2-2表示了TCP/IP分層模型的四層。TCP/IP協(xié)議被
35、設(shè)計(jì)成四個(gè)層次,其中應(yīng)用層對(duì)應(yīng)于OSI模型中的應(yīng)用層、會(huì)話層、表示層,傳輸層和網(wǎng)絡(luò)層分別對(duì)應(yīng)OSI中的相應(yīng)層,網(wǎng)絡(luò)接口層對(duì)應(yīng)于OSI中的數(shù)據(jù)鏈路層和物理層。TCP/IP分層模型的四個(gè)協(xié)議層分別完成以下的功能[5]:</p><p> 第一層網(wǎng)絡(luò)接口層:網(wǎng)絡(luò)接口層包括用于協(xié)作IP數(shù)據(jù)在已有網(wǎng)絡(luò)介質(zhì)上傳輸?shù)膮f(xié)議。它對(duì)實(shí)際的網(wǎng)絡(luò)媒體進(jìn)行管理,定義了將資料組成正確幀的規(guī)則和在網(wǎng)絡(luò)中傳輸幀的規(guī)則,定義如何使用實(shí)際網(wǎng)絡(luò)如以
36、太網(wǎng)Ethemet等來(lái)傳送數(shù)據(jù)。實(shí)際上TCP/IP標(biāo)準(zhǔn)并不定義與ISO數(shù)據(jù)鏈路層和物理層相對(duì)應(yīng)的功能。相反,它定義像地址解析協(xié)議(ARP-Address Resolution Protocol)這樣的協(xié)議,提供TCP/IP協(xié)議的數(shù)據(jù)結(jié)構(gòu)和實(shí)際物理硬件之間的接口。</p><p> 表2-2 TCP/IP參考模型</p><p> 第二層網(wǎng)絡(luò)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包路由功能,讓每一個(gè)數(shù)
37、據(jù)包都能夠到達(dá)目的主機(jī),但不檢查是否被正確接收,如網(wǎng)際協(xié)議IP。本層包含IP協(xié)議、RIP協(xié)議(Routing Information Protocol,路由信息協(xié)議),負(fù)責(zé)數(shù)據(jù)的包裝、尋址和路由。同時(shí)還包含網(wǎng)問(wèn)控制報(bào)文協(xié)議(ICMP Intemet Control Message Protocol)用來(lái)提供網(wǎng)絡(luò)診斷信息。</p><p> 第三層傳輸層:為兩個(gè)用戶(hù)進(jìn)程之間建立、管理和拆除可靠而又有效的端到端連接
38、,提供兩種端到端的通信服務(wù)。其中TCP協(xié)議(Transmission Control Protocol)提供可靠的數(shù)據(jù)流傳輸服務(wù),UDP協(xié)議(Use Datagram Protocol)提供不可靠的用戶(hù)數(shù)據(jù)報(bào)服務(wù)。</p><p> 第四層應(yīng)用層:因特網(wǎng)的應(yīng)用層協(xié)議包括FTP(文件傳輸協(xié)議)、HTTP(超文本傳輸協(xié)議)、Telent(遠(yuǎn)程終端協(xié)議)、SMTP(簡(jiǎn)單郵件傳送協(xié)議)、IRC(因特網(wǎng)中繼會(huì)話)、NNT
39、P(網(wǎng)絡(luò)新聞傳輸協(xié)議)等。</p><p> OSI模型與TCP/IP模型的比較</p><p> 與OSI參考模型不同,TCP/IP協(xié)議并不完全符合OSI的七層參考模型,如表2-3所示。TCP/IP參考模型更側(cè)重于互聯(lián)設(shè)備間的數(shù)據(jù)傳送,更注重實(shí)用性,而不是嚴(yán)格的功能層次劃分。OSI參考模型在解釋互聯(lián)網(wǎng)絡(luò)通信原理上比較適合,TCP/IP在實(shí)用性上面比較好,因而成為了互聯(lián)網(wǎng)絡(luò)協(xié)議的市場(chǎng)標(biāo)
40、準(zhǔn)。TCP/IP參考模型是在它所解釋的協(xié)議出現(xiàn)很久以后才發(fā)展起來(lái)的,并吸取了OSI模型的經(jīng)驗(yàn)和教訓(xùn),比OSI模型更靈活,這也是TCP/IP協(xié)議之所以流行的原因。</p><p> 表2-3 OSI模型與TCP/IP模型的比較</p><p><b> 主要協(xié)議</b></p><p><b> IP</b><
41、/p><p> 網(wǎng)際協(xié)議IP是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。</p><p> IP層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來(lái)的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來(lái)的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的,因?yàn)镮P并沒(méi)有做任何事情來(lái)確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒(méi)有被破壞。IP數(shù)據(jù)包中含有發(fā)送它的主機(jī)的
42、地址(源地址)和接收它的主機(jī)的地址(目的地址)。</p><p> 高層的TCP和UDP服務(wù)在接收數(shù)據(jù)包時(shí),通常假設(shè)包中的源地址是有效的。也可以這樣說(shuō),IP地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來(lái)的。IP確認(rèn)包含一個(gè)選項(xiàng),叫作IP source routing,可以用來(lái)指定一條源地址和目的地址之間的直接路徑。對(duì)于一些TCP和UDP的服務(wù)來(lái)說(shuō),使用了該選項(xiàng)的IP包好像是從路徑上的最
43、后一個(gè)系統(tǒng)傳遞過(guò)來(lái)的,而不是來(lái)自于它的真實(shí)地點(diǎn)。這個(gè)選項(xiàng)是為了測(cè)試而存在的,說(shuō)明了它可以被用來(lái)欺騙系統(tǒng)來(lái)進(jìn)行平常是被禁止的連接。那么,許多依靠IP源地址做確認(rèn)的服務(wù)將產(chǎn)生問(wèn)題并且會(huì)被非法入侵。</p><p> IP數(shù)據(jù)報(bào)格式,如圖2-1所示:</p><p> 圖2-1 IP數(shù)據(jù)報(bào)格式</p><p> 版本:4位,標(biāo)識(shí)IP版本號(hào)。目前有IPv4、IPv6。
44、我們目前所用的IP協(xié)議基本都是IPv4版本。</p><p> 首部長(zhǎng)度:4位,度指的是首部占32bit字的數(shù)目,包括任何選項(xiàng)。由圖3-1可知首部所占字節(jié)數(shù)為(4+4+8+16+16+3+13+8+8+16+32+32+0)=160bit,正好是32bit的5倍,所以首部長(zhǎng)度最小為5。如果選項(xiàng)字段有其它數(shù)據(jù),則這個(gè)值會(huì)大于5。由上面也可知IP首部最小長(zhǎng)度為20字節(jié),最大長(zhǎng)度為(2的4次方-1)*32/8=60字
45、節(jié)。</p><p> 服務(wù)類(lèi)型:8位,其中:</p><p> 優(yōu)先權(quán):3位,設(shè)置了數(shù)據(jù)包的重要性,取值越大數(shù)據(jù)越重要,取值范圍為:0(正常)-7(網(wǎng)絡(luò)控制)。</p><p> TOS:4位,分別表示最小延時(shí)、最大吞吐量、最高可靠性、最小費(fèi)用。如果4位TOS子字段均為0,那么就意味著是一般服務(wù)。</p><p> 未使用:1位,必
46、須置0。</p><p> 總長(zhǎng)度:16位,總長(zhǎng)度指首部和數(shù)據(jù)之和的長(zhǎng)度,以字節(jié)為單位。利用首部長(zhǎng)度字段和總長(zhǎng)度字段,就可以知道I P數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長(zhǎng)度。由于該字段長(zhǎng)16比特,所以IP數(shù)據(jù)報(bào)最長(zhǎng)可達(dá)65535字節(jié)。</p><p> 標(biāo)識(shí):16位,唯一地標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào)。通常每發(fā)送一份報(bào)文它的值就會(huì)加1。IP軟件在存儲(chǔ)器中維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器
47、就加1,并將此值賦給標(biāo)識(shí)字段。但這個(gè)“標(biāo)識(shí)”并不是序號(hào),因?yàn)镮P是無(wú)連接服務(wù),數(shù)據(jù)報(bào)不存在按序接收的問(wèn)題。當(dāng)數(shù)據(jù)報(bào)由于長(zhǎng)度超過(guò)網(wǎng)絡(luò)的MTU而必須分片時(shí),這個(gè)標(biāo)識(shí)字段的值就被復(fù)制到所有的數(shù)據(jù)報(bào)的標(biāo)識(shí)字段中。相同的標(biāo)識(shí)字段的值使分片后的各數(shù)據(jù)報(bào)片最后能正確地重裝成為原來(lái)的數(shù)據(jù)報(bào)。在分片和重組技術(shù)中將會(huì)用到。</p><p> 標(biāo)志:3位,但目前只有2位有意義。標(biāo)志字段中的最低位記為MF(More Fragment)
48、。MF=1即表示后面“還有分片”的數(shù)據(jù)報(bào);MF=0表示這已是若干數(shù)據(jù)報(bào)片中的最后一個(gè)。標(biāo)志字段中間的一位記為DF(Don't Fragment),意思是“不能分片”。只有當(dāng)DF=0時(shí)才允許分片,具體定義如下:</p><p><b> 保留位: 1位 ;</b></p><p> DF字段:1位,取值:0(允許數(shù)據(jù)報(bào)分段)、1(數(shù)據(jù)報(bào)不能分段);</
49、p><p> MF字段:1位,取值:0(數(shù)據(jù)包后面沒(méi)有包,該包為最后的包)、1(數(shù)據(jù)包后面有更多的包)。</p><p> 片偏移:13位。片偏移指出:較長(zhǎng)的分組在分片后,某片在原分組中的相對(duì)位置,也就是說(shuō),相對(duì)用戶(hù)數(shù)據(jù)字段的起點(diǎn),該片從何處開(kāi)始。片偏移以8個(gè)字節(jié)為偏移單位,這就是說(shuō),每個(gè)分片的長(zhǎng)度一定是8字節(jié)(64位)的整數(shù)倍。</p><p> 生存時(shí)間:8位
50、,生存時(shí)間字段常用的的英文縮寫(xiě)是TTL(Time To Live),表明是數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命。由發(fā)出數(shù)據(jù)報(bào)的源點(diǎn)設(shè)置這個(gè)字段,其目的是防止無(wú)法交付的數(shù)據(jù)報(bào)無(wú)限制地在因特網(wǎng)中兜圈子,因而白白消耗網(wǎng)絡(luò)資源。最初的設(shè)計(jì)是以秒作為T(mén)TL的單位。每經(jīng)過(guò)一個(gè)路由器時(shí),就把TTL減去數(shù)據(jù)報(bào)在路由器消耗掉的一段時(shí)間。若數(shù)據(jù)報(bào)在路由器消耗的時(shí)間小于1秒,就把TTL值減1。當(dāng)TTL值為0時(shí),就丟棄這個(gè)數(shù)據(jù)報(bào)。一般可以理解為經(jīng)過(guò)路由器的最大數(shù)目。</
51、p><p> 協(xié)議:8位。協(xié)議字段指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議(上層協(xié)議),以便使目的主機(jī)的IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)處理過(guò)程。協(xié)議可包括TCP、UDP、TELNET等,1=ICMP,6=TCP,17=UDP。</p><p> 首部校驗(yàn)和:16位,首部檢驗(yàn)和字段是根據(jù)IP首部計(jì)算的檢驗(yàn)和碼,它不對(duì)首部后面的數(shù)據(jù)進(jìn)行計(jì)算。ICMP,UDP,TCP在它們各自的首部中均含有同時(shí)覆
52、蓋首部和數(shù)據(jù)檢驗(yàn)和碼。為了計(jì)算一份數(shù)據(jù)報(bào)的IP檢驗(yàn)和,首先把檢驗(yàn)和字段置為0,然后對(duì)首部中每個(gè)16bit進(jìn)行二進(jìn)制反碼求和(整個(gè)首部看成是由一串16 bit的字組成),結(jié)果存在檢驗(yàn)和字段中。當(dāng)收到一份IP數(shù)據(jù)報(bào)后,同樣對(duì)首部中每個(gè)16 bit進(jìn)行二進(jìn)制反碼的求和。由于接收方在計(jì)算過(guò)程中包含了發(fā)送方存在首部中的檢驗(yàn)和,因此,如果首部在傳輸過(guò)程中沒(méi)有發(fā)生任何差錯(cuò),那么接收方計(jì)算的結(jié)果應(yīng)該為全1,如果結(jié)果不是全1(即檢驗(yàn)和錯(cuò)誤),那么IP就丟
53、棄收到的數(shù)據(jù)報(bào),但是不生成差錯(cuò)報(bào)文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報(bào)并進(jìn)行重傳。</p><p> 源IP地址:32位,發(fā)送IP的主機(jī)地址。</p><p> 目的IP地址:32位,數(shù)據(jù)發(fā)往的IP主機(jī)地址。</p><p><b> TCP</b></p><p> 如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把
54、它們向‘上’傳送到TCP層。TCP將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。TCP數(shù)據(jù)包中包括序號(hào)和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。</p><p> TCP將它的信息送到更高層的應(yīng)用程序,例如Telnet的服務(wù)程序和客戶(hù)程序。應(yīng)用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設(shè)備驅(qū)動(dòng)程序和物理介質(zhì),最后到接收方。</p><p>
55、面向連接的服務(wù)(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發(fā)送和接收域名數(shù)據(jù)庫(kù)),但使用UDP傳送有關(guān)單個(gè)主機(jī)的信息。</p><p> TCP數(shù)據(jù)被封裝在一個(gè)IP數(shù)據(jù)報(bào)中,如圖2-2所示:</p><p> 圖2-2 TCP數(shù)據(jù)在IP數(shù)據(jù)報(bào)中的封裝</p><p>
56、; 圖2-3顯示TCP首部的數(shù)據(jù)格式。如果不計(jì)任選字段,它通常是20個(gè)字節(jié)。</p><p> 圖2-3 TCP包首部</p><p><b> UDP</b></p><p> UDP與TCP位于同一層,但它不管數(shù)據(jù)包的順序、錯(cuò)誤或重發(fā)。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢(xún)---應(yīng)答的服務(wù),
57、例如NFS。相對(duì)于FTP或Telnet,這些服務(wù)需要交換的信息量較小。使用UDP的服務(wù)包括NTP(網(wǎng)絡(luò)時(shí)間協(xié)議)和DNS(DNS也使用TCP)。</p><p> 欺騙UDP包比欺騙TCP包更容易,因?yàn)閁DP沒(méi)有建立初始化連接(也可以稱(chēng)為握手)(因?yàn)樵趦蓚€(gè)系統(tǒng)間沒(méi)有虛電路),也就是說(shuō),與UDP相關(guān)的服務(wù)面臨著更大的危險(xiǎn)。</p><p> UDP是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議,進(jìn)程
58、的每個(gè)輸出操作都正好產(chǎn)生一個(gè)UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào)。</p><p> UDP數(shù)據(jù)報(bào)格式有首部和數(shù)據(jù)兩個(gè)部分,如圖2-4:</p><p> 圖2-4 UDP數(shù)據(jù)報(bào)格式</p><p> 首部很簡(jiǎn)單,共8字節(jié),如圖2-5:</p><p> 圖2-5 UDP首部</p><p><b
59、> 包括:</b></p><p> 源端口(Source Port):2字節(jié),源端口號(hào)。</p><p> 目的端口(Destination Port ):2字節(jié),目的端口號(hào)。</p><p> 長(zhǎng)度(Length):2字節(jié),UDP用戶(hù)數(shù)據(jù)報(bào)的總長(zhǎng)度,以字節(jié)為單位。</p><p> 檢驗(yàn)和(Checksum):
60、2字節(jié),用于校驗(yàn)UDP數(shù)據(jù)報(bào)的數(shù)字段和包含UDP數(shù)據(jù)報(bào)首部的“偽首部”。盡管UDP校驗(yàn)和的基本計(jì)算方法與IP首部校驗(yàn)和的計(jì)算方法類(lèi)似(16bit字的二進(jìn)制反碼和),但是它們之間存在不同的地方,UDP數(shù)據(jù)報(bào)長(zhǎng)度可以為奇數(shù)字節(jié),但是校驗(yàn)和的算法是把若干個(gè)16bit字相加。解決方法是必要時(shí)在最后增加填充字節(jié)0,這只是為了校驗(yàn)和的計(jì)算(也就是說(shuō),可能增加的填充字節(jié)不被傳送)。</p><p> UDP數(shù)據(jù)報(bào)和TCP段都
61、包含一個(gè)12字節(jié)長(zhǎng)的偽首部,它是為了計(jì)算校驗(yàn)和而設(shè)置的。偽首部包含IP首部一些字段,其目的是讓UDP兩次檢查數(shù)據(jù)是否已經(jīng)正確到達(dá)目的地(例如,IP有沒(méi)有接受地址不是本主機(jī)的數(shù)據(jù)報(bào),以及IP有沒(méi)有把應(yīng)傳給另一高層的數(shù)據(jù)報(bào)傳送給UDP)。UDP數(shù)據(jù)報(bào)中的偽首部格式如圖2-6所示:</p><p> 圖2-6 UDP數(shù)據(jù)報(bào)的偽首部格式</p><p><b> ICMP</b
62、></p><p> ICMP與IP位于同一層,它被用來(lái)傳送IP的的控制信息。它主要是用來(lái)提供有關(guān)通向目的地址的路徑信息。</p><p> IP協(xié)議提供的是面向無(wú)連接的服務(wù),不存在關(guān)于網(wǎng)絡(luò)連接的建立和維護(hù)過(guò)程,也不包括流量控制與差錯(cuò)控制功能,但需要對(duì)網(wǎng)絡(luò)的狀態(tài)有一些了解,因此在網(wǎng)際層提供了因特網(wǎng)控制消息協(xié)議(Internet control message protocol,簡(jiǎn)
63、稱(chēng)ICMP)來(lái)檢測(cè)網(wǎng)絡(luò),包括路由、擁塞、服務(wù)質(zhì)量等問(wèn)題。在網(wǎng)絡(luò)中,ICMP報(bào)文將作為IP層數(shù)據(jù)報(bào)的數(shù)據(jù),封裝在IP數(shù)據(jù)報(bào)中進(jìn)行傳輸,如圖2-7所示,但I(xiàn)CMP并不是高層協(xié)議,而仍被視為網(wǎng)絡(luò)層協(xié)議。</p><p> 圖2-7 ICMP數(shù)據(jù)在IP數(shù)據(jù)報(bào)中的封裝</p><p> ICMP報(bào)文的類(lèi)型很多,且各自又有各自的代碼,因此,ICMP并沒(méi)有一個(gè)統(tǒng)一的報(bào)文格式,不同的ICMP類(lèi)別分別有
64、不同的報(bào)文字段。ICMP報(bào)文只是在前4個(gè)字節(jié)有統(tǒng)一的格式,共有類(lèi)型、代碼和校驗(yàn)和3個(gè)字段。如圖2-8所示。</p><p> 圖2-8 ICMP報(bào)文的格式</p><p> 其中類(lèi)型字段表示ICMP報(bào)文的類(lèi)型;代碼字段是為了進(jìn)一步區(qū)分某種類(lèi)型的幾種不同情況;校驗(yàn)和字段用來(lái)檢驗(yàn)整個(gè)ICMP報(bào)文,接著的4個(gè)字節(jié)的內(nèi)容與ICMP的類(lèi)型有關(guān),再后面是數(shù)據(jù)字段,其長(zhǎng)度取決于ICMP的類(lèi)型。<
65、;/p><p> TCP和UDP的端口結(jié)構(gòu)</p><p> TCP和UDP服務(wù)通常有一個(gè)客戶(hù)/服務(wù)器的關(guān)系,例如,一個(gè)Telnet服務(wù)進(jìn)程開(kāi)始在系統(tǒng)上處于空閑狀態(tài),等待著連接。用戶(hù)使用Telnet客戶(hù)程序與服務(wù)進(jìn)程建立一個(gè)連接。客戶(hù)程序向服務(wù)進(jìn)程寫(xiě)入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶(hù)程序讀出響應(yīng)并向用戶(hù)報(bào)告。因而,這個(gè)連接是雙工的,可以用來(lái)進(jìn)行讀寫(xiě)。</p><p
66、> 數(shù)據(jù)包在TCP/IP網(wǎng)絡(luò)中的封裝解封過(guò)程</p><p> 數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時(shí)要經(jīng)過(guò)封裝和解封的過(guò)程,這是兩個(gè)正好相反的過(guò)程,一個(gè)組包,一個(gè)解包,下面是數(shù)據(jù)包在網(wǎng)絡(luò)中封裝的過(guò)程:首先,計(jì)算機(jī)生成用戶(hù)數(shù)據(jù),數(shù)據(jù)經(jīng)過(guò)應(yīng)用層后,被加上應(yīng)用層協(xié)議的首部,然后傳遞到傳輸層變成了傳輸層的數(shù)據(jù)單元,傳輸層把收到的大的報(bào)文分割成小的包,再給每一個(gè)包加上這一層的報(bào)文頭,如TCP頭或者UDP頭,形成新的數(shù)據(jù)單元然后再交
67、給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層又在各個(gè)數(shù)據(jù)包上加上自己的IP頭部,包括源IP及目的IP,以方便路由,這樣就到了網(wǎng)絡(luò)接口層,這一層給到來(lái)的數(shù)據(jù)加上鏈路層的頭部和尾部,此處是以太網(wǎng)頭部和尾部,最后形成比特流傳輸?shù)骄€路上。包的封裝過(guò)程如圖2-9所示:</p><p> 當(dāng)數(shù)據(jù)到達(dá)網(wǎng)絡(luò)另一端的計(jì)算機(jī)時(shí),又經(jīng)過(guò)相反的解包過(guò)程:首先,數(shù)據(jù)鏈路層接收到從另一端計(jì)算機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù)幀,并由鏈路層的協(xié)議來(lái)讀取數(shù)據(jù)幀的內(nèi)容,對(duì)于以太網(wǎng)的數(shù)據(jù)鏈路層
68、幀其中有一個(gè)字段是標(biāo)志上層協(xié)議的,此處我們假設(shè)是IP協(xié)議,鏈路層協(xié)議會(huì)把以太網(wǎng)首部和尾部都去掉,然后把數(shù)據(jù)交給上層的網(wǎng)絡(luò)層,數(shù)據(jù)經(jīng)過(guò)網(wǎng)絡(luò)層的處理去掉IP首部后交給相應(yīng)的上層協(xié)議TCP或UDP去處理,同樣道理,TCP或UDP協(xié)議經(jīng)過(guò)對(duì)數(shù)據(jù)的處理后去掉TCP或UDP頭部,又把數(shù)據(jù)交給應(yīng)用層去處理,最終還原成用戶(hù)數(shù)據(jù),這就是數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的解封過(guò)程,如圖2-10所示:</p><p> 圖 2-9 數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)
69、的封裝過(guò)程</p><p> 圖 2-10 數(shù)據(jù)進(jìn)入?yún)f(xié)議棧時(shí)的解封過(guò)程</p><p> 數(shù)據(jù)在協(xié)議棧里面的封裝與解封的原理是網(wǎng)絡(luò)數(shù)據(jù)包捕獲和進(jìn)行協(xié)議分析的基礎(chǔ),本論文所構(gòu)建的數(shù)據(jù)包嗅探器就運(yùn)用了上述的封裝解封原理,并對(duì)所捕獲的數(shù)據(jù)包以協(xié)議樹(shù)的形式來(lái)顯示包內(nèi)所包含的協(xié)議層次結(jié)構(gòu),另外,本論文最高只是涉及到傳輸層的TCP和UDP協(xié)議的解析,考慮到因特網(wǎng)應(yīng)用層協(xié)議的繁多,并且有可能涉及到
70、加密與解密等一系列的問(wèn)題,如果要對(duì)應(yīng)用層協(xié)議進(jìn)行支持,必須首先去了解掌握這種協(xié)議,然后加入相應(yīng)的應(yīng)用層協(xié)議解析模塊,由于涉及到眾多問(wèn)題,所以本論文目前并不支持應(yīng)用層協(xié)議的解析,將留待下一步繼續(xù)研究。</p><p><b> 仿真技術(shù)簡(jiǎn)介</b></p><p> 本課題做的網(wǎng)絡(luò)協(xié)議仿真軟件實(shí)際是嗅探器,嗅探器是指運(yùn)行在TCP/IP協(xié)議、以太網(wǎng)協(xié)議、IPX協(xié)議或者
71、其他協(xié)議的網(wǎng)絡(luò)上,可以獲取網(wǎng)絡(luò)信息流的軟件或硬件,硬件形式的Sniffer稱(chēng)為網(wǎng)絡(luò)分析儀,一般都是商業(yè)性的,價(jià)格也比較貴。軟件形式的Sniffer有很多,其優(yōu)點(diǎn)是價(jià)格便宜,易于學(xué)習(xí)使用,缺點(diǎn)是無(wú)法抓取網(wǎng)絡(luò)上所有的傳輸,某些情況下也就無(wú)法真正了解網(wǎng)絡(luò)的運(yùn)行情況[2][3]。現(xiàn)在的嗅探器一般都是指軟件意義上的,而不是硬件意義上的,軟件嗅探器成本要比硬件嗅探器低得多,并且使用方便,但是在性能方面會(huì)比硬件嗅探器差,后者一般是用在要求比較高的地方
72、。</p><p> 通過(guò)對(duì)國(guó)內(nèi)外的文獻(xiàn)調(diào)研發(fā)現(xiàn),網(wǎng)絡(luò)嗅探中的數(shù)據(jù)包捕獲主要可以分兩種方式[1],一種是基于操作系統(tǒng)內(nèi)核的,如Unix、Linux系統(tǒng),它們系統(tǒng)內(nèi)核本身就提供包捕獲機(jī)制;第二種就是基于外界提供的驅(qū)動(dòng)程序庫(kù),如Unix下的Libpcap和Windows下的WinPcap。由操作系統(tǒng)內(nèi)核提供的捕獲機(jī)制主要有以下四種:BPF(Berkeley Packet Filter),DLPI(Data Link
73、 Provider Interface),NIT(Network Interface Tap),SOCK_PACKET套接口。其中BPF由基于BSD的Unix系統(tǒng)內(nèi)核所實(shí)現(xiàn),而DLPI是Solaris系統(tǒng)的子系統(tǒng),對(duì)于NIT則是SunOS 4系統(tǒng)的一部分,但在Solaris系統(tǒng)中已經(jīng)被DLPI取代,Linux系統(tǒng)內(nèi)核則實(shí)現(xiàn)了SOCK_PACKET的包捕獲機(jī)制。從性能上看,BPF比DLPI及NIT效率要高的多,而SOCK_PACKET最差
74、。</p><p> 嗅探器是網(wǎng)絡(luò)管理員用來(lái)管理網(wǎng)絡(luò)的一種工具,通過(guò)嗅探器可監(jiān)視網(wǎng)絡(luò)的狀態(tài)、數(shù)據(jù)流動(dòng)情況以及網(wǎng)絡(luò)上傳輸?shù)男畔⒌?。但是黑客們也常通過(guò)嗅探器對(duì)網(wǎng)絡(luò)進(jìn)行攻擊,網(wǎng)絡(luò)嗅探技術(shù)在給管理員帶來(lái)方便的同時(shí),對(duì)網(wǎng)絡(luò)信息安全也構(gòu)成了潛在的威脅。</p><p> 一臺(tái)計(jì)算機(jī)和其他計(jì)算機(jī)進(jìn)行通訊,一般都需要安裝一塊網(wǎng)卡,嗅探器要想工作,首先要有網(wǎng)卡的支持,由網(wǎng)卡來(lái)負(fù)責(zé)接收和發(fā)送網(wǎng)絡(luò)數(shù)據(jù)。每塊
75、網(wǎng)卡在出廠時(shí)都有一個(gè)全球唯一的48bit長(zhǎng)的MAC地址,這樣就保證了網(wǎng)卡地址的唯一性。</p><p> 在以太網(wǎng)上,數(shù)據(jù)是以很小的稱(chēng)為幀(Frame)的單位傳輸?shù)?,一個(gè)數(shù)據(jù)幀有以下幾部分組成,如表2-4。(1)目的MAC地址(2)源MAC地址(3)0800(表示承載的IPv4)(4)IP頭(5)TCP頭或UDP頭(6)數(shù)據(jù)(7)校驗(yàn)和。</p><p> 表2-4 數(shù)據(jù)鏈路層幀格式&
76、lt;/p><p> 計(jì)算機(jī)所直接傳送的數(shù)據(jù)是大量的二進(jìn)制數(shù)據(jù)即比特流,在數(shù)據(jù)鏈路層被稱(chēng)為幀。數(shù)據(jù)發(fā)送和接收的過(guò)程是:計(jì)算機(jī)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)從應(yīng)用層向物理層向下傳遞,此過(guò)程不斷加上每一層的頭部,逐步包裝成鏈路層數(shù)據(jù)幀,然后通過(guò)網(wǎng)卡發(fā)送到線路上,到達(dá)目的計(jì)算機(jī)后,再執(zhí)行相反的解包過(guò)程,最終把數(shù)據(jù)交給應(yīng)用層協(xié)議處理,還原成真實(shí)數(shù)據(jù)。對(duì)于一個(gè)嗅探器來(lái)說(shuō),也必須使用特定的網(wǎng)絡(luò)協(xié)議如TCP協(xié)議來(lái)分解嗅探到的數(shù)據(jù),這就要求嗅探
77、器本身提供對(duì)這種協(xié)議的解碼支持,只有這樣才能夠進(jìn)行正確的解碼看到數(shù)據(jù)包里面的數(shù)據(jù)。另外,嗅探器一般是部署到網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵位置如路由器和服務(wù)器上面的。網(wǎng)絡(luò)嗅探在局域網(wǎng)中的應(yīng)用比較廣泛,按照嗅探環(huán)境的不同,可以分為共享式網(wǎng)絡(luò)嗅探和交換式網(wǎng)絡(luò)嗅探。前者相對(duì)發(fā)展較早,只要將網(wǎng)卡設(shè)置為混雜模式,并輔以相應(yīng)的捕獲程序即可達(dá)到嗅探的目的。隨著交換機(jī)的普及,交換式網(wǎng)絡(luò)嗅探也有了一定的發(fā)展。交換式網(wǎng)絡(luò)嗅探區(qū)別于共享式網(wǎng)絡(luò)嗅探的地方是它主要利用交換網(wǎng)工作機(jī)
78、制中的漏洞來(lái)實(shí)現(xiàn)。知道了嗅探器的工作原理,我們應(yīng)該認(rèn)識(shí)到嗅探器并不是專(zhuān)為網(wǎng)絡(luò)攻擊入侵而開(kāi)發(fā)的,其實(shí)一些網(wǎng)絡(luò)診斷命令就屬于嗅探器的范疇,利用嗅探器可以幫助我們檢查底層</p><p><b> 反嗅探措施</b></p><p><b> 嗅探的檢測(cè)</b></p><p> 嗅探作為一種重要的網(wǎng)絡(luò)安全技術(shù)手段,應(yīng)得到
79、網(wǎng)絡(luò)安全人員的充分認(rèn)識(shí)。由于共享式以太網(wǎng)中的監(jiān)聽(tīng)原理非常簡(jiǎn)單,而且又不干擾正常的網(wǎng)絡(luò)通信,所以發(fā)生在其中的嗅探行為很難被發(fā)現(xiàn)。同時(shí),隨著交換式局域網(wǎng)的流行,網(wǎng)絡(luò)監(jiān)聽(tīng)也已經(jīng)出現(xiàn)在交換式局域網(wǎng)中,因此,如何有效地檢測(cè)和發(fā)現(xiàn)局域網(wǎng)中的嗅探行為并進(jìn)行相應(yīng)的防范己成為維護(hù)局域網(wǎng)安全非常重要的環(huán)節(jié)。盡管網(wǎng)絡(luò)嗅探比較隱蔽不易被發(fā)覺(jué),但仍然可以采用以下幾種方法加以防范。</p><p> (1)采用加密手段對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密
80、,以密文形式傳輸,即使入侵者監(jiān)聽(tīng)到了傳輸?shù)臄?shù)據(jù)包信息,也不能立刻理解其中的含義,還需要再進(jìn)一步的破解,自然增加了監(jiān)聽(tīng)的難度。例如Telnet、FTP等采用SSH2進(jìn)行傳輸數(shù)據(jù),它是提供端到端的驗(yàn)證與加密的應(yīng)用層安全通信協(xié)議,是目前國(guó)際互聯(lián)網(wǎng)上最好的安全通信協(xié)議之一。</p><p> (2)在重要的終端機(jī)器上使用靜態(tài)的ARP表,把本局域網(wǎng)內(nèi)所有網(wǎng)卡的IP.MAC地址記錄下來(lái),建立IP.MAC數(shù)據(jù)庫(kù),以便以后使用
81、。</p><p> (3)對(duì)網(wǎng)絡(luò)進(jìn)行分割。網(wǎng)絡(luò)廣播數(shù)據(jù)的時(shí)候,數(shù)據(jù)包只能被同一網(wǎng)絡(luò)地址段內(nèi)的嗅探器捕獲,所以可以利用網(wǎng)絡(luò)分割的技術(shù)把網(wǎng)絡(luò)進(jìn)一步劃分為小的局域網(wǎng),縮小嗅探器的嗅探范圍,這樣就能保證網(wǎng)絡(luò)其他部分的安全。</p><p><b> 嗅探的防御</b></p><p> 雖然絕對(duì)安靜的嗅探器在理論上無(wú)法發(fā)現(xiàn),但是根據(jù)嗅探器在工作
82、中對(duì)主機(jī)系統(tǒng)或網(wǎng)絡(luò)通訊的影響,也可從中判斷其是否存在。具體可從以下幾個(gè)方面入手:</p><p><b> (1)網(wǎng)卡工作模式</b></p><p><b> (2)網(wǎng)絡(luò)流量分析</b></p><p><b> (3)系統(tǒng)資源分析</b></p><p><b&
83、gt; (4)引誘策略</b></p><p> 網(wǎng)絡(luò)嗅探的防御相對(duì)網(wǎng)絡(luò)嗅探的實(shí)現(xiàn)難度要大得多,目前大多數(shù)反監(jiān)聽(tīng)工具主要采用DNS檢測(cè)、ARP檢測(cè)等方法,而這些方法本身都存在不少缺陷,它們都依賴(lài)于目標(biāo)主機(jī)發(fā)出DNS反向查詢(xún)、ARP應(yīng)答包,而很多優(yōu)秀的嗅探器在運(yùn)行時(shí)會(huì)阻止本機(jī)發(fā)出以上所說(shuō)的數(shù)據(jù)包,從而使基于以上原理檢測(cè)的反嗅探工具都會(huì)失效。對(duì)于一些惡意嗅探,目前還沒(méi)有一個(gè)一勞永逸的方法,在綜合應(yīng)用上
84、述方法的同時(shí),還應(yīng)不斷提高網(wǎng)絡(luò)管理人員的安全意識(shí),做到多注意、勤檢查。</p><p> Windows下的網(wǎng)絡(luò)嗅探及WinPcap研究</p><p><b> WinPcap簡(jiǎn)介</b></p><p> 本章作為論文的關(guān)鍵部分之一將會(huì)做以下幾方面的研究:首先是WinPcap框架的組成部分、WinPcap的新特性與優(yōu)勢(shì),接下來(lái)會(huì)重點(diǎn)分
85、析WinPcap的體系結(jié)構(gòu),然后對(duì)比Windows與Unix下的網(wǎng)絡(luò)嗅探和數(shù)據(jù)包捕獲機(jī)制,研究WindOWS下的嗅探的底層基礎(chǔ)NDIS網(wǎng)絡(luò)驅(qū)動(dòng)器接口規(guī)范,最后總結(jié)了基于Windows的數(shù)據(jù)包捕獲方案,得出了基于WinPcap數(shù)據(jù)包捕獲的一般過(guò)程。通過(guò)本章對(duì)WinPcap驅(qū)動(dòng)的研究分析,深刻理解了WinPcap本身的運(yùn)行機(jī)制,為更合理和高效的運(yùn)用WinPcap編程奠定了基礎(chǔ)。</p><p> WinPcap是由
86、意大利的Fulvio Risso和Loris Degioanni等人實(shí)現(xiàn)的應(yīng)用于Win32平臺(tái)數(shù)據(jù)包捕獲與分析的一種驅(qū)動(dòng)軟件包,并提供了在Windows操作系統(tǒng)下的開(kāi)放源代碼,是一套高性能API封裝庫(kù),有一套標(biāo)準(zhǔn)的抓包接口專(zhuān)門(mén)用于網(wǎng)絡(luò)數(shù)據(jù)包的截獲,并在其基礎(chǔ)上增加了自定義數(shù)據(jù)包的發(fā)送能力以及針對(duì)Win32平臺(tái)的擴(kuò)展函數(shù),獨(dú)立于Windows操作系統(tǒng)的協(xié)議棧。</p><p> 不同版本的Windows系統(tǒng)都有自
87、己的內(nèi)核模塊和用戶(hù)層模塊,所以使用Windows SDK開(kāi)發(fā)的嗅探程序在不同的Windows操作系統(tǒng)版本下需重新進(jìn)行編譯。WinPcap為Win32平臺(tái)提供了一個(gè)公共的接口Packet.dll,使得程序可以運(yùn)行在不同版本的Windows 平臺(tái)上,而無(wú)需重新編譯。另外,WinPcap的標(biāo)準(zhǔn)抓包接口與Libpcap兼容,使系統(tǒng)便于向Unix/Linux平臺(tái)移植。</p><p> WinPcap的主要功能在于獨(dú)立于
88、主機(jī)協(xié)議如TCP-IP協(xié)議發(fā)送和接收原始數(shù)據(jù)包,也就是說(shuō),WinPcap不能阻塞、過(guò)濾或控制其他應(yīng)用程序?qū)?shù)據(jù)報(bào)的收發(fā),它只是繞過(guò)系統(tǒng)原有的協(xié)議棧監(jiān)聽(tīng)網(wǎng)絡(luò)上傳送的數(shù)據(jù)包。因此,它不能用于QoS(Quality of Service)調(diào)度程序或個(gè)人防火墻。WinPcap有以下幾方面的功能[8]:</p><p> (1)捕獲原始數(shù)據(jù)包,無(wú)論它是發(fā)往某臺(tái)機(jī)器的,還是在其他設(shè)備(共享媒介)上進(jìn)行交換的。</p&
89、gt;<p> (2)在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)包過(guò)濾掉。</p><p> (3)將原始數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)發(fā)送出去。</p><p> (4)收集并統(tǒng)計(jì)網(wǎng)絡(luò)流量信息。</p><p> 1)WinPcap框架的各個(gè)組成部分</p><p> 圖2-11 Winpcap框架的組成部分<
90、;/p><p> 如圖2-11所示,WinPcap包括內(nèi)核級(jí)的數(shù)據(jù)包監(jiān)聽(tīng)驅(qū)動(dòng)NPF、低級(jí)動(dòng)態(tài)鏈接庫(kù)(Packet.dll)和高級(jí)系統(tǒng)無(wú)關(guān)庫(kù)(Wpcap.dll)。在利用WinPcap抓包時(shí),要繞過(guò)操作系統(tǒng)的協(xié)議棧來(lái)訪問(wèn)網(wǎng)絡(luò)上傳輸?shù)脑紨?shù)據(jù)包,這就要求WinPcap的一部分要運(yùn)行在操作系統(tǒng)核心層,直接與網(wǎng)絡(luò)接口驅(qū)動(dòng)交互,這就是NPF驅(qū)動(dòng)要完成的任務(wù),它是依賴(lài)于操作系統(tǒng)的。另外,還需要提供向上的用戶(hù)級(jí)程序接口以方便應(yīng)用
91、程序調(diào)用,WinPcap提供了Packet.dll和Wpcap.dll這兩個(gè)動(dòng)態(tài)鏈接庫(kù),通過(guò)調(diào)用這些接口,用戶(hù)程序可以與NPF交互,利用它所提供的高級(jí)特性來(lái)捕獲并處理數(shù)據(jù)包。</p><p> 2)WinPcap的新特性與優(yōu)勢(shì)</p><p> WinPcap除了有強(qiáng)大的數(shù)據(jù)包捕獲功能以外,相比BSD Capturing Component,它還增加了統(tǒng)計(jì)及數(shù)據(jù)包發(fā)送功能,另外還有遠(yuǎn)
92、程捕獲的能力。(1)統(tǒng)計(jì)功能可以快速實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的統(tǒng)計(jì),如一定時(shí)間內(nèi)流經(jīng)總線的數(shù)據(jù)包數(shù)目,數(shù)據(jù)字節(jié)數(shù)等。它不需要把數(shù)據(jù)包傳送到應(yīng)用程序,避免了大量的數(shù)據(jù)包拷貝操作。WinPcap的這種包統(tǒng)計(jì)功能是一種非常高效的、用來(lái)監(jiān)測(cè)網(wǎng)絡(luò)的方法,即使在局域網(wǎng)有大量數(shù)據(jù)包流動(dòng)時(shí),它仍然可以工作的很好。</p><p> (2)發(fā)送數(shù)據(jù)包功能使得應(yīng)用程序不僅可以嗅探網(wǎng)絡(luò),還可以實(shí)現(xiàn)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),但是WinPcap本身不具備產(chǎn)
93、生數(shù)據(jù)包的能力,需要通過(guò)手工或者其它工具來(lái)構(gòu)造。</p><p> (3)WinPcap又?jǐn)U展了自身的標(biāo)準(zhǔn)代碼,這樣,基于WinPcap的工具可以擁有遠(yuǎn)程捕獲的能力[7],這個(gè)高級(jí)特性能夠捕獲在遠(yuǎn)程網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包。它需要一個(gè)遠(yuǎn)程后臺(tái)程序,由它進(jìn)行捕獲,并把捕獲到的數(shù)據(jù)發(fā)回,一個(gè)本地客戶(hù)端會(huì)發(fā)送合適的命令并接收捕獲到的數(shù)據(jù)。例如:遠(yuǎn)程后臺(tái)程序被加入到客戶(hù)軟件中,我們并不需要另外修改,就能使程序擁有遠(yuǎn)程捕捉的能
94、力。反之亦然,遠(yuǎn)程后臺(tái)程序必須被安裝和配置在遠(yuǎn)程機(jī)器上。遠(yuǎn)程捕獲協(xié)議(RPCAP)可以在兩種模式下工作:</p><p> 被動(dòng)模式(默認(rèn)):客戶(hù)機(jī)連接到遠(yuǎn)程后臺(tái)程序,它發(fā)送一些合適的命令,并開(kāi)始捕獲。</p><p> 主動(dòng)模式:遠(yuǎn)程后臺(tái)程序試圖連接到客戶(hù)機(jī),然后,客戶(hù)機(jī)發(fā)送一些合適的命令,并開(kāi)始捕獲。主動(dòng)模式是有用的,除了當(dāng)遠(yuǎn)程后臺(tái)程序遇到了防火墻的阻止而不能訪問(wèn)外部網(wǎng)絡(luò)時(shí)。在這種
95、情況下,遠(yuǎn)程后臺(tái)程序可以被配置成允許與已知的主機(jī)建立連接,而那個(gè)主機(jī),只需要配置成等待連接即可。在連接建立完成之后,協(xié)議會(huì)繼續(xù)自己的工作,這些工作在主動(dòng)模式和被動(dòng)模式下幾乎是一樣的。</p><p> 使用WinPcap庫(kù)相對(duì)于其他方法有以下優(yōu)點(diǎn):</p><p> (1)函數(shù)調(diào)用簡(jiǎn)單。</p><p> (2)可以捕獲完整的數(shù)據(jù)幀,包括鏈路層幀頭信息(不包括
96、幀尾的校驗(yàn)和,網(wǎng)卡在</p><p> 驗(yàn)證校驗(yàn)和后將自動(dòng)丟棄校驗(yàn)和部分,只將前面的數(shù)據(jù)交給上層),從而可以全面地分析各種網(wǎng)絡(luò)協(xié)議。</p><p> (3)可以捕獲從本機(jī)發(fā)出的數(shù)據(jù)幀。</p><p> (4)內(nèi)核級(jí)的封包過(guò)濾,僅提交給應(yīng)用程序需要的數(shù)據(jù),系統(tǒng)開(kāi)銷(xiāo)小。</p><p> (5)WinPcap提供了一套標(biāo)準(zhǔn)的抓包接口,
97、與Libpcap兼容,因此用其開(kāi)發(fā)的應(yīng)用程序具有較強(qiáng)的可移植性。</p><p> WinPcap體系結(jié)構(gòu)</p><p> WinPcap的體系結(jié)構(gòu)是借鑒的BSD Capturing Component的體系結(jié)構(gòu),首先對(duì)BSD Capturing Component的體系結(jié)構(gòu)和Winpcap體系結(jié)構(gòu)做一下對(duì)比。</p><p> 1)BSD Capturi
98、ng Component的體系結(jié)構(gòu)</p><p> BSD Capturing Component是Unix下最常用的捕獲數(shù)據(jù)包的驅(qū)動(dòng),其基本體系結(jié)構(gòu)見(jiàn)圖2-12。</p><p> 如圖2-4所示,BSD Capturing Component由以下幾部分組成:Network Tap,它負(fù)責(zé)從網(wǎng)絡(luò)直接捕獲所有的數(shù)據(jù)包;BPF-Berkeley Packet Filter,它用來(lái)分
99、析捕獲進(jìn)來(lái)的數(shù)據(jù)包;兩種Buffer:一種工作在核心層,一種工作在用戶(hù)層。經(jīng)過(guò)BPF的數(shù)據(jù)包被拷貝到Kemel Buffer中,它分為兩個(gè)buffer:store buffer和hold buffer。store buffer用于保存從網(wǎng)絡(luò)適配器捕獲的數(shù)據(jù)包,hold buffe則用于將數(shù)據(jù)包拷貝到用戶(hù)的buffer中。</p><p> 二者之間擁有swap特性:由于storebuffer比hold buff
100、er更易被填滿(mǎn),所以當(dāng)store buffer 己滿(mǎn),而hold buffer為空的時(shí)候,store buffer變成hold buffer,而之前的hold buffer變成store buffer,這樣使得用戶(hù)的程序和捕獲數(shù)據(jù)包的驅(qū)動(dòng)完全分開(kāi)。User-level buffer存儲(chǔ)從核心層進(jìn)來(lái)的數(shù)據(jù)包,它可防止用戶(hù)直接訪問(wèn)內(nèi)核管理的內(nèi)存。</p><p> 圖2-12 BSD Capturing Comp
101、onent的體系結(jié)構(gòu)</p><p> 2)WinPcap的體系結(jié)構(gòu)</p><p> WinPcap體系結(jié)構(gòu)如圖2-13所示。</p><p> WinPcap包捕獲驅(qū)動(dòng)由三個(gè)模塊組成,一個(gè)在內(nèi)核級(jí),另外兩個(gè)處于用戶(hù)級(jí),以動(dòng)態(tài)鏈接庫(kù)的形式提供。由于BPF功能強(qiáng)大而且工作穩(wěn)定,所以WinPcap沿用了其中幾個(gè)最重要的模塊:包過(guò)濾器,內(nèi)核級(jí)和用戶(hù)級(jí)的緩存,用戶(hù)
102、級(jí)上的兩種庫(kù)[9][10]。</p><p> (1)NPF-Netgroup Packet Filter,內(nèi)核級(jí)的網(wǎng)絡(luò)包過(guò)濾器,它是WinPcap架構(gòu)的核心,是一個(gè)虛擬設(shè)備驅(qū)動(dòng)程序文件,是WinPcap體系結(jié)構(gòu)中最底層的模塊。NPF具有高效和迅速的特點(diǎn),即使在流量很大的快速局域網(wǎng)中也能正常的進(jìn)行包捕獲,丟包率小并且占用的系統(tǒng)資源少[11]。</p><p> (2)Packet.dl
103、l一數(shù)據(jù)包低級(jí)驅(qū)動(dòng)程序庫(kù),它是與Libpcap相兼容的一組用戶(hù)級(jí)的函數(shù)庫(kù),為Win32平臺(tái)提供了一個(gè)公共的接口,是一個(gè)能用來(lái)直接訪問(wèn)NPF驅(qū)動(dòng)程序的API。</p><p> (3)Wpcap.dll.?dāng)?shù)據(jù)包高級(jí)驅(qū)動(dòng)程序庫(kù),是個(gè)更高層的、系統(tǒng)無(wú)關(guān)的API,它是對(duì)Packet.dll更高層的封裝。</p><p> 處于最下方的是網(wǎng)卡驅(qū)動(dòng),它用來(lái)管理網(wǎng)卡捕獲的數(shù)據(jù)包。為了讓網(wǎng)卡能夠捕獲網(wǎng)
104、絡(luò)中的全部數(shù)據(jù)包,應(yīng)將其設(shè)為“混雜模式”。</p><p> 在利用WinPcap開(kāi)發(fā)網(wǎng)絡(luò)監(jiān)聽(tīng)程序時(shí),主要是調(diào)用Packet.dll和Wpcap.dll中提供的API函數(shù)[12]。Packet.dll直接映射了內(nèi)核的調(diào)用,Wpcap.dll提供了更加友好、功能更加強(qiáng)大的函數(shù)調(diào)用。當(dāng)所開(kāi)發(fā)的捕獲程序沒(méi)有涉及到對(duì)底層進(jìn)行編程的特殊需求時(shí),使用Wpcap.dll動(dòng)態(tài)鏈接庫(kù),其實(shí)Wpcap.dll也要使用packet.
105、dll中的函數(shù),但是Wpcap.dll提供了一個(gè)強(qiáng)大及時(shí)并且易用的編程環(huán)境。Packet.dll提供了一些Wpcap.dll沒(méi)有提供的功能,Wpcap.dll的設(shè)計(jì)目標(biāo)是提供一套可移植并且系統(tǒng)無(wú)關(guān)的捕獲API集合,因此它不可能將驅(qū)動(dòng)所提供的全部功能都輸出出來(lái)。所以在這樣的情況下,就需要使用Packet.dll提供的特殊函數(shù)來(lái)滿(mǎn)足對(duì)系統(tǒng)開(kāi)發(fā)的更高要求。</p><p> 圖2-13 WinPcap的體系結(jié)構(gòu)&l
106、t;/p><p> 3)用到的WinPcap的主要用戶(hù)接口函數(shù)和數(shù)據(jù)結(jié)構(gòu)</p><p> (1)用戶(hù)接口函數(shù):</p><p> int pcap_findalldevs():獲得己連接到本機(jī)上所有網(wǎng)卡的列表。</p><p> pcap_t *pcap_open_live():打開(kāi)一個(gè)網(wǎng)絡(luò)適配器,建立捕獲會(huì)話。</p>
107、<p> int pcap_compile():將一個(gè)高層的布爾過(guò)濾表達(dá)式編譯成一個(gè)能夠被過(guò)濾引</p><p> 擎所解釋的低層的字節(jié)碼。</p><p> int pcap_setfilter():將一個(gè)過(guò)濾器與內(nèi)核捕獲會(huì)話相關(guān)聯(lián)。</p><p> int pcap_loop()或int pcap_dispatch():進(jìn)行數(shù)據(jù)包的捕獲。&l
108、t;/p><p> void pcap freealldevs():釋放設(shè)備列表。</p><p> int pcap datalink():獲取數(shù)據(jù)鏈路層傳輸類(lèi)型。</p><p> void(*) pcap_handler():接收數(shù)據(jù)包的回調(diào)函數(shù)。</p><p> (2)數(shù)據(jù)結(jié)構(gòu)(只列出了數(shù)據(jù)結(jié)構(gòu)的名字):</p>
109、<p> packetheader:內(nèi)核緩沖池中每個(gè)數(shù)據(jù)包的預(yù)定結(jié)構(gòu)。</p><p> pcap_addr:接口地址描述。用于函數(shù)pcap_findalldevs()。</p><p> pcap_if:接口表中的一項(xiàng),用于函數(shù)pcap_findalldevs()。</p><p> pcap_pkthdr:當(dāng)機(jī)轉(zhuǎn)儲(chǔ)文件(dump file)中數(shù)
110、據(jù)包的首部。</p><p> Windows下的網(wǎng)絡(luò)嗅探</p><p> 同時(shí)WinPcap的出現(xiàn)具有一定的必然性。Windows作為當(dāng)前最流行的用戶(hù)平臺(tái),占據(jù)了絕大多數(shù)PC用戶(hù)的桌面。如何在源碼不公開(kāi)的Windows操作系統(tǒng)下實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)嗅探系統(tǒng),成為很多人關(guān)注的焦點(diǎn)。微軟贊助了意大利的一家研究院開(kāi)發(fā)了WinPcap這個(gè)項(xiàng)目,最終導(dǎo)致了WinPcap的產(chǎn)生?,F(xiàn)在WinPcap本
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息管理與信息系統(tǒng)畢業(yè)論文-網(wǎng)絡(luò)協(xié)議仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)畢業(yè)論文查詢(xún)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)畢業(yè)論文小型酒店信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)畢業(yè)論文
- 信息管理與信息系統(tǒng)畢業(yè)論文醫(yī)院住院部信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)畢業(yè)論文庫(kù)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于linux的聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-信息管理與信息系統(tǒng)畢業(yè)論文
- 信息系統(tǒng)與信息管理畢業(yè)論文范文
- 信息管理與信息系統(tǒng)畢業(yè)論文學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)專(zhuān)業(yè)畢業(yè)論文、畢業(yè)設(shè)計(jì)參考
- 信息管理與信息系統(tǒng)畢業(yè)論文學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 信息管理與信息系統(tǒng)專(zhuān)業(yè)畢業(yè)論文--庫(kù)存管理系統(tǒng)
- 網(wǎng)絡(luò)協(xié)議仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 信息管理與信息系統(tǒng)畢業(yè)論文醫(yī)院信息系統(tǒng)的效益分析與研究
- 畢業(yè)論文——網(wǎng)絡(luò)旅游信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文——網(wǎng)絡(luò)旅游信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 南京信息工程大學(xué)信息管理與信息系統(tǒng)專(zhuān)業(yè)畢業(yè)論文(設(shè)計(jì))
- 畢業(yè)論文---網(wǎng)絡(luò)投票管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
評(píng)論
0/150
提交評(píng)論