網絡協(xié)議仿真軟件的設計與實現畢業(yè)論文_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  xxxxxxx</b></p><p>  信息科學與技術學院畢業(yè)論文</p><p> 課題名稱:網絡協(xié)議仿真軟件的設計與實現</p><p> 學生姓名:xxxxxxxxxxxxx</p><p> xxxxxxxxxxxxx</p><p> 學 院:信息

2、科學與技術學院</p><p> 專業(yè)年級:信息管理與信息系統(tǒng)2008級</p><p> 指導教師:xxxxxx 講師</p><p> 完成日期:二〇一二年四月</p><p>  網絡協(xié)議仿真軟件的設計與實現</p><p>  學生:xxxxxxxxx</p><p>  

3、指導老師:xxxxx</p><p>  [摘 要]由于網絡模型和協(xié)議的抽象性,即使專業(yè)人員對其理解也有很大困難。為了將抽象的難以理解的網絡模型框架、協(xié)議原理、網絡應用等專業(yè)知識,用易于理解的通俗易懂的形式將其理解。非專業(yè)的人員在使用網絡協(xié)議仿真軟件的同時可以對網絡協(xié)議有基本的理解,有一定專業(yè)知識的人員更好的理解網絡協(xié)議原理、掌握學習要領。</p><p>  本課題通過對網絡抓包軟件的實

4、現,來詳細深入的了解網絡協(xié)議如何工作,文中首先分析了抓包的原理和技術,并介紹了幾種常見的抓包軟件,然后研究了入侵檢測系統(tǒng)中使用的包捕獲技術,利用winpcap接字在windows平臺下實現了一個網絡抓包軟件程序,具有對數據包進行拆包、解包等功能,最后通過動畫演示生動形象的描述網絡協(xié)議如何運行。</p><p>  [關鍵詞] 網絡抓包軟件 數據包捕獲 數據包分析 Winpcap</p><

5、;p>  Network protocol emulation software design </p><p>  and implementation</p><p>  Students:xxxxxxxxxxx</p><p>  Instructor:xxxxxxxxx</p><p>  [Abstract] As the n

6、etwork 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

7、 application 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 bas

8、ic 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

9、technology 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 ne

10、twork 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 ;

11、 Winpcap</p><p><b>  目錄</b></p><p><b>  第一章緒論1</b></p><p>  1.1 課題背景1</p><p>  1.2 課題研究的目的及意義1</p><p><b>  1.3 任務書1</

12、b></p><p>  1.3.1 設計時間1</p><p>  1.3.2 課題分工2</p><p>  1.3.3 設計成果2</p><p>  1.3.4 論文組織2</p><p>  第二章網絡協(xié)議及協(xié)議仿真技術3</p><p>  2.1 網絡協(xié)議3&l

13、t;/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 數據包在TCP/IP網絡中的封裝解封過程10</p

14、><p>  2.2 仿真技術簡介11</p><p>  2.3 反嗅探措施13</p><p>  2.3.1 嗅探的檢測13</p><p>  2.3.2 嗅探的防御13</p><p>  2.4 Windows下的網絡嗅探及WinPcap研究13</p><p>  2.4.1

15、 WinPcap簡介13</p><p>  2.4.2 WinPcap體系結構16</p><p>  2.4.3 Windows下的網絡嗅探19</p><p>  2.4.4 基于WinPcap的包捕獲過程21</p><p>  第三章需求分析與動畫演示設計23</p><p>  3.1 功能需求

16、23</p><p>  3.2 性能需求23</p><p>  3.3 可行性分析24</p><p>  3.4 動畫演示設計24</p><p>  第四章詳細設計28</p><p>  4.1 開發(fā)環(huán)境28</p><p>  4.2 系統(tǒng)功能模塊圖29</p&

17、gt;<p>  4.3 系統(tǒng)流程圖30</p><p>  4.4 詳細設計31</p><p>  4.4.1 界面實現31</p><p>  4.4.2 選擇網卡34</p><p>  4.4.3 過濾規(guī)則34</p><p>  4.4.4 數據包捕獲36</p>&

18、lt;p>  4.4.5 數據包分析37</p><p>  第五章系統(tǒng)測試46</p><p>  5.1編寫目的46</p><p>  5.2測試概要46</p><p>  5.3對軟件功能的評價49</p><p>  第六章開發(fā)總結51</p><p><

19、b>  致謝53</b></p><p><b>  緒論</b></p><p><b>  課題背景</b></p><p>  近年來,數據通信網絡無論就其物理的規(guī)模還是應用范圍來講,都獲得了巨大的發(fā)展。Internet上不斷地有新的需求出現,人們開發(fā)新的協(xié)議和算法來滿足這些變化的需求。這種需求的

20、例子包括服務質量支持、組播傳輸、安全性、移動組網和策略管理。對這些領域的協(xié)議和算法的開發(fā)和評價要求人們回答很多設計上的問題。由于網絡協(xié)議是抽象的,很多學生不易理解,所以用仿真軟件的設計與實現來了解網絡協(xié)議。</p><p>  本論文采用了WinPcap驅動對鏈路層數據幀進行高效捕獲,并針對四種具體協(xié)議ARP、IP、TCP、UDP進行協(xié)議分析。借助WinPcap來研究Windows平臺下的網絡協(xié)議仿真技術是具有現

21、實意義的,這不僅能促進網絡嗅探系統(tǒng)的改進和發(fā)展,還能促進WinPcap本身的發(fā)展。在本論文的程序開發(fā)過程中涉及到較多方面,如協(xié)議分析,MFC編程,及對WinPcap驅動框架的理解,這些工作在很大程度上加深了自己對網絡協(xié)議應用的理解。本課題主要通過對數據包的抓捕與分析機制進行研究, 參考了大量有關抓捕數據包的專業(yè)文獻,由此了解國內以及國際上主要的抓捕分析數據包的技術方法,并通過制作一個共享環(huán)境下的的數據抓包軟件的具體實現以對該機制進行深一

22、步的了解。</p><p>  課題研究的目的及意義</p><p>  網絡協(xié)議具有抽象、難以理解等特點,學生在學習計算機網絡相關課程時總感到協(xié)議難懂、不具體。設計一個網絡協(xié)議仿真軟件可形象的將網絡協(xié)議的運行原理和過程演示出來,學生對網絡原理理解就會更深、學習的進度也會加快。</p><p>  由于網絡模型和協(xié)議的抽象性,即使專業(yè)人員對其理解也有很大困難。為了將

23、抽象的難以理解的網絡模型框架、協(xié)議原理、網絡應用等專業(yè)知識,用易于理解的通俗易懂的形式將其理解。非專業(yè)的人員在使用網絡協(xié)議仿真軟件的同時可以對網絡協(xié)議有基本的理解,有一定專業(yè)知識的人員更好的理解網絡協(xié)議原理、掌握學習要領。</p><p><b>  任務書</b></p><p><b>  設計時間</b></p><p&

24、gt; ?。?)第1-3周 搜集相關文獻文檔</p><p> ?。?)第4周 系統(tǒng)功能模塊分析</p><p>  (3)第5周 系統(tǒng)技術實現分析 </p><p> ?。?)第6-13周 程序編寫,系統(tǒng)調試,相關文檔的撰寫</p><p>  (5)第14周 完善系統(tǒng)和對論文的

25、撰寫</p><p> ?。?)第15周 準備預審和相關畢業(yè)答辯文檔</p><p>  (7)第16周 終期答辯</p><p><b>  總計16周</b></p><p><b>  課題分工</b></p><p>  徐婷:開題報告、文獻

26、綜述、論文初稿搜集整理相關文獻資料、需求分析、系統(tǒng)測試</p><p>  饒冬冬:功能模塊的分析和設計、動畫演示制作、系統(tǒng)調試修改</p><p>  共同合作:結構設計、整體模塊設計、系統(tǒng)編寫實現</p><p><b>  設計成果</b></p><p>  畢業(yè)設計相關文獻及成果清單包括:</p>

27、<p><b>  可執(zhí)行軟件一份</b></p><p><b>  《開題報告》</b></p><p><b>  《文獻綜述》</b></p><p><b>  《用戶手冊》</b></p><p>  《石河子大學信息科學與技術學院

28、2012畢業(yè)設計論文》</p><p><b>  論文組織</b></p><p>  下面是本論文的章節(jié)組織:</p><p>  第一章:緒論,概括介紹了論文的研究背景、研究目的及意義。</p><p>  第二章:網絡協(xié)議及協(xié)議仿真技術,系統(tǒng)介紹網絡協(xié)議框架結構,每層的相關的協(xié)議,以及協(xié)議仿真技術的知識,包括嗅探

29、的原理,以及一些反嗅探的方法。研究分析網絡TCP/IP協(xié)議,并對本嗅探器基于的 WinPcap的框架體系進行深入地研究。</p><p>  第三章:需求分析與可行性分析,動畫演示設計。 </p><p>  第四章:主要是網絡數據包捕獲工具實現的詳細步驟及設計,主要分為界面,網卡選擇模塊、數據包過濾模塊、數據包捕獲模塊和數據包分析模塊。</p><p>  第五章

30、:對本文所構建的數據包嗅探器進行測試,實驗證明系統(tǒng)達到了預期的設計目標。</p><p>  第六章:總結了本論文的主要工作。</p><p>  網絡協(xié)議及協(xié)議仿真技術 </p><p><b>  網絡協(xié)議</b></p><p>  OSI七層參考模型</p><p>  要使兩臺計算機進

31、行通信,必須讓它們使用同一種“語言”,通信協(xié)議就是兩臺計算機交換信息所使用的共同語言,它規(guī)定了通信雙方在通信中所應共同遵守的規(guī)則,精確地定義了計算機在相互通信過程中的所有細節(jié)。我們利用一個共同遵守的通信協(xié)議,從而使Intemet成為一個允許連接不同類型的計算機和不同操作系統(tǒng)的網絡。例如,協(xié)議規(guī)定了每臺計算機發(fā)送報文的格式和每個字段的含義,還規(guī)定了在各種情況下計算機應該做出什么反應,以避免差錯從而達到最好的通信效果。</p>

32、<p>  在網絡歷史的早期,國際標準化組織(ISO)和國際電報電話咨詢委員會(CCITT)共同出版了開放系統(tǒng)互聯的七層參考模型[6],它是一種抽象的包含七層通信協(xié)議的參考模型,其中每一層執(zhí)行某一規(guī)定的任務,每層之間都有相應的接口,除了第一層和第七層外,每一層即使用下層提供的服務,又給上層提供服務,也就是說它即是服務的享有者,又是服務的提供者。這種設計模型可以簡化協(xié)議開發(fā)過程中的難度,每一層只需做好該層的工作并提供好向上的接

33、口即可,在保證每一層實現效率的前提下,具體怎么實現要根據具體情況來確定。該模型的目的是使各種硬件在相同的層次上相互通信,表21表示了OSI七層參考模型。</p><p>  表2-1 OSI七層參考模型</p><p>  按照OSI開放系統(tǒng)互聯參考模型的觀點,可將網絡系統(tǒng)劃分為7層結構,每一個層次上運行著不同的協(xié)議和服務,并且上下層之間互相配合,完成網絡數據交換的功能。然而,OSI模型

34、僅僅是一個參考模型,并不是實際網絡中應用的模型。實際上應用最廣泛的商用網絡模型是TCP/IP網絡參考模型,將網絡劃分為四層,每一個層次上運行著不同的協(xié)議和服務[4]。</p><p>  TCP/IP參考模型</p><p>  TCP/IP參考模型被稱作因特網分層模型、因特網參考模型(Intemet Reference Model),表2-2表示了TCP/IP分層模型的四層。TCP/IP

35、協(xié)議被設計成四個層次,其中應用層對應于OSI模型中的應用層、會話層、表示層,傳輸層和網絡層分別對應OSI中的相應層,網絡接口層對應于OSI中的數據鏈路層和物理層。TCP/IP分層模型的四個協(xié)議層分別完成以下的功能[5]:</p><p>  第一層網絡接口層:網絡接口層包括用于協(xié)作IP數據在已有網絡介質上傳輸的協(xié)議。它對實際的網絡媒體進行管理,定義了將資料組成正確幀的規(guī)則和在網絡中傳輸幀的規(guī)則,定義如何使用實際網

36、絡如以太網Ethemet等來傳送數據。實際上TCP/IP標準并不定義與ISO數據鏈路層和物理層相對應的功能。相反,它定義像地址解析協(xié)議(ARP-Address Resolution Protocol)這樣的協(xié)議,提供TCP/IP協(xié)議的數據結構和實際物理硬件之間的接口。</p><p>  表2-2 TCP/IP參考模型</p><p>  第二層網絡層:負責提供基本的數據封包路由功能,讓每

37、一個數據包都能夠到達目的主機,但不檢查是否被正確接收,如網際協(xié)議IP。本層包含IP協(xié)議、RIP協(xié)議(Routing Information Protocol,路由信息協(xié)議),負責數據的包裝、尋址和路由。同時還包含網問控制報文協(xié)議(ICMP Intemet Control Message Protocol)用來提供網絡診斷信息。</p><p>  第三層傳輸層:為兩個用戶進程之間建立、管理和拆除可靠而又有效的端到

38、端連接,提供兩種端到端的通信服務。其中TCP協(xié)議(Transmission Control Protocol)提供可靠的數據流傳輸服務,UDP協(xié)議(Use Datagram Protocol)提供不可靠的用戶數據報服務。</p><p>  第四層應用層:因特網的應用層協(xié)議包括FTP(文件傳輸協(xié)議)、HTTP(超文本傳輸協(xié)議)、Telent(遠程終端協(xié)議)、SMTP(簡單郵件傳送協(xié)議)、IRC(因特網中繼會話)、

39、NNTP(網絡新聞傳輸協(xié)議)等。</p><p>  OSI模型與TCP/IP模型的比較</p><p>  與OSI參考模型不同,TCP/IP協(xié)議并不完全符合OSI的七層參考模型,如表2-3所示。TCP/IP參考模型更側重于互聯設備間的數據傳送,更注重實用性,而不是嚴格的功能層次劃分。OSI參考模型在解釋互聯網絡通信原理上比較適合,TCP/IP在實用性上面比較好,因而成為了互聯網絡協(xié)議的

40、市場標準。TCP/IP參考模型是在它所解釋的協(xié)議出現很久以后才發(fā)展起來的,并吸取了OSI模型的經驗和教訓,比OSI模型更靈活,這也是TCP/IP協(xié)議之所以流行的原因。</p><p>  表2-3 OSI模型與TCP/IP模型的比較</p><p><b>  主要協(xié)議</b></p><p><b>  IP</b>&

41、lt;/p><p>  網際協(xié)議IP是TCP/IP的心臟,也是網絡層中最重要的協(xié)議。</p><p>  IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發(fā)來的數據包,并把該數據包發(fā)送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是按順序發(fā)送的或者沒有被破壞。IP數據包中含有發(fā)送它的

42、主機的地址(源地址)和接收它的主機的地址(目的地址)。</p><p>  高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發(fā)送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCP和UDP的服務來說,使用了該選項的IP包好像是從路徑

43、上的最后一個系統(tǒng)傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統(tǒng)來進行平常是被禁止的連接。那么,許多依靠IP源地址做確認的服務將產生問題并且會被非法入侵。</p><p>  IP數據報格式,如圖2-1所示:</p><p>  圖2-1 IP數據報格式</p><p>  版本:4位,標識IP版本號。目前有IPv4、IP

44、v6。我們目前所用的IP協(xié)議基本都是IPv4版本。</p><p>  首部長度:4位,度指的是首部占32bit字的數目,包括任何選項。由圖3-1可知首部所占字節(jié)數為(4+4+8+16+16+3+13+8+8+16+32+32+0)=160bit,正好是32bit的5倍,所以首部長度最小為5。如果選項字段有其它數據,則這個值會大于5。由上面也可知IP首部最小長度為20字節(jié),最大長度為(2的4次方-1)*32/8=

45、60字節(jié)。</p><p>  服務類型:8位,其中:</p><p>  優(yōu)先權:3位,設置了數據包的重要性,取值越大數據越重要,取值范圍為:0(正常)-7(網絡控制)。</p><p>  TOS:4位,分別表示最小延時、最大吞吐量、最高可靠性、最小費用。如果4位TOS子字段均為0,那么就意味著是一般服務。</p><p>  未使用:1

46、位,必須置0。</p><p>  總長度:16位,總長度指首部和數據之和的長度,以字節(jié)為單位。利用首部長度字段和總長度字段,就可以知道I P數據報中數據內容的起始位置和長度。由于該字段長16比特,所以IP數據報最長可達65535字節(jié)。</p><p>  標識:16位,唯一地標識主機發(fā)送的每一份數據報。通常每發(fā)送一份報文它的值就會加1。IP軟件在存儲器中維持一個計數器,每產生一個數據報,

47、計數器就加1,并將此值賦給標識字段。但這個“標識”并不是序號,因為IP是無連接服務,數據報不存在按序接收的問題。當數據報由于長度超過網絡的MTU而必須分片時,這個標識字段的值就被復制到所有的數據報的標識字段中。相同的標識字段的值使分片后的各數據報片最后能正確地重裝成為原來的數據報。在分片和重組技術中將會用到。</p><p>  標志:3位,但目前只有2位有意義。標志字段中的最低位記為MF(More Fragme

48、nt)。MF=1即表示后面“還有分片”的數據報;MF=0表示這已是若干數據報片中的最后一個。標志字段中間的一位記為DF(Don't Fragment),意思是“不能分片”。只有當DF=0時才允許分片,具體定義如下:</p><p><b>  保留位: 1位 ;</b></p><p>  DF字段:1位,取值:0(允許數據報分段)、1(數據報不能分段);&l

49、t;/p><p>  MF字段:1位,取值:0(數據包后面沒有包,該包為最后的包)、1(數據包后面有更多的包)。</p><p>  片偏移:13位。片偏移指出:較長的分組在分片后,某片在原分組中的相對位置,也就是說,相對用戶數據字段的起點,該片從何處開始。片偏移以8個字節(jié)為偏移單位,這就是說,每個分片的長度一定是8字節(jié)(64位)的整數倍。</p><p>  生存時間

50、:8位,生存時間字段常用的的英文縮寫是TTL(Time To Live),表明是數據報在網絡中的壽命。由發(fā)出數據報的源點設置這個字段,其目的是防止無法交付的數據報無限制地在因特網中兜圈子,因而白白消耗網絡資源。最初的設計是以秒作為TTL的單位。每經過一個路由器時,就把TTL減去數據報在路由器消耗掉的一段時間。若數據報在路由器消耗的時間小于1秒,就把TTL值減1。當TTL值為0時,就丟棄這個數據報。一般可以理解為經過路由器的最大數目。&l

51、t;/p><p>  協(xié)議:8位。協(xié)議字段指出此數據報攜帶的數據是使用何種協(xié)議(上層協(xié)議),以便使目的主機的IP層知道應將數據部分上交給哪個處理過程。協(xié)議可包括TCP、UDP、TELNET等,1=ICMP,6=TCP,17=UDP。</p><p>  首部校驗和:16位,首部檢驗和字段是根據IP首部計算的檢驗和碼,它不對首部后面的數據進行計算。ICMP,UDP,TCP在它們各自的首部中均含有

52、同時覆蓋首部和數據檢驗和碼。為了計算一份數據報的IP檢驗和,首先把檢驗和字段置為0,然后對首部中每個16bit進行二進制反碼求和(整個首部看成是由一串16 bit的字組成),結果存在檢驗和字段中。當收到一份IP數據報后,同樣對首部中每個16 bit進行二進制反碼的求和。由于接收方在計算過程中包含了發(fā)送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結果應該為全1,如果結果不是全1(即檢驗和錯誤),那么I

53、P就丟棄收到的數據報,但是不生成差錯報文,由上層去發(fā)現丟失的數據報并進行重傳。</p><p>  源IP地址:32位,發(fā)送IP的主機地址。</p><p>  目的IP地址:32位,數據發(fā)往的IP主機地址。</p><p><b>  TCP</b></p><p>  如果IP數據包中有已經封好的TCP數據包,那么I

54、P將把它們向‘上’傳送到TCP層。TCP將包排序并進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。</p><p>  TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最后到接收方。</p><p>

55、;  面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發(fā)送和接收域名數據庫),但使用UDP傳送有關單個主機的信息。</p><p>  TCP數據被封裝在一個IP數據報中,如圖2-2所示:</p><p>  圖2-2 TCP數據在IP數據報中的封裝</p><p

56、>  圖2-3顯示TCP首部的數據格式。如果不計任選字段,它通常是20個字節(jié)。</p><p>  圖2-3 TCP包首部</p><p><b>  UDP</b></p><p>  UDP與TCP位于同一層,但它不管數據包的順序、錯誤或重發(fā)。因此,UDP不被應用于那些使用虛電路的面向連接的服務,UDP主要用于那些面向查詢---應答的

57、服務,例如NFS。相對于FTP或Telnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網絡時間協(xié)議)和DNS(DNS也使用TCP)。</p><p>  欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統(tǒng)間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。</p><p>  UDP是一個簡單的面向數據報的運輸層協(xié)議

58、,進程的每個輸出操作都正好產生一個UDP數據報,并組裝成一份待發(fā)送的IP數據報。</p><p>  UDP數據報格式有首部和數據兩個部分,如圖2-4:</p><p>  圖2-4 UDP數據報格式</p><p>  首部很簡單,共8字節(jié),如圖2-5:</p><p>  圖2-5 UDP首部</p><p>&l

59、t;b>  包括:</b></p><p>  源端口(Source Port):2字節(jié),源端口號。</p><p>  目的端口(Destination Port ):2字節(jié),目的端口號。</p><p>  長度(Length):2字節(jié),UDP用戶數據報的總長度,以字節(jié)為單位。</p><p>  檢驗和(Checksu

60、m):2字節(jié),用于校驗UDP數據報的數字段和包含UDP數據報首部的“偽首部”。盡管UDP校驗和的基本計算方法與IP首部校驗和的計算方法類似(16bit字的二進制反碼和),但是它們之間存在不同的地方,UDP數據報長度可以為奇數字節(jié),但是校驗和的算法是把若干個16bit字相加。解決方法是必要時在最后增加填充字節(jié)0,這只是為了校驗和的計算(也就是說,可能增加的填充字節(jié)不被傳送)。</p><p>  UDP數據報和TC

61、P段都包含一個12字節(jié)長的偽首部,它是為了計算校驗和而設置的。偽首部包含IP首部一些字段,其目的是讓UDP兩次檢查數據是否已經正確到達目的地(例如,IP有沒有接受地址不是本主機的數據報,以及IP有沒有把應傳給另一高層的數據報傳送給UDP)。UDP數據報中的偽首部格式如圖2-6所示:</p><p>  圖2-6 UDP數據報的偽首部格式</p><p><b>  ICMP<

62、;/b></p><p>  ICMP與IP位于同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關通向目的地址的路徑信息。</p><p>  IP協(xié)議提供的是面向無連接的服務,不存在關于網絡連接的建立和維護過程,也不包括流量控制與差錯控制功能,但需要對網絡的狀態(tài)有一些了解,因此在網際層提供了因特網控制消息協(xié)議(Internet control message protoco

63、l,簡稱ICMP)來檢測網絡,包括路由、擁塞、服務質量等問題。在網絡中,ICMP報文將作為IP層數據報的數據,封裝在IP數據報中進行傳輸,如圖2-7所示,但ICMP并不是高層協(xié)議,而仍被視為網絡層協(xié)議。</p><p>  圖2-7 ICMP數據在IP數據報中的封裝</p><p>  ICMP報文的類型很多,且各自又有各自的代碼,因此,ICMP并沒有一個統(tǒng)一的報文格式,不同的ICMP類別

64、分別有不同的報文字段。ICMP報文只是在前4個字節(jié)有統(tǒng)一的格式,共有類型、代碼和校驗和3個字段。如圖2-8所示。</p><p>  圖2-8 ICMP報文的格式</p><p>  其中類型字段表示ICMP報文的類型;代碼字段是為了進一步區(qū)分某種類型的幾種不同情況;校驗和字段用來檢驗整個ICMP報文,接著的4個字節(jié)的內容與ICMP的類型有關,再后面是數據字段,其長度取決于ICMP的類型。

65、</p><p>  TCP和UDP的端口結構</p><p>  TCP和UDP服務通常有一個客戶/服務器的關系,例如,一個Telnet服務進程開始在系統(tǒng)上處于空閑狀態(tài),等待著連接。用戶使用Telnet客戶程序與服務進程建立一個連接??蛻舫绦蛳蚍者M程寫入信息,服務進程讀出信息并發(fā)出響應,客戶程序讀出響應并向用戶報告。因而,這個連接是雙工的,可以用來進行讀寫。</p>&l

66、t;p>  數據包在TCP/IP網絡中的封裝解封過程</p><p>  數據在網絡中傳輸時要經過封裝和解封的過程,這是兩個正好相反的過程,一個組包,一個解包,下面是數據包在網絡中封裝的過程:首先,計算機生成用戶數據,數據經過應用層后,被加上應用層協(xié)議的首部,然后傳遞到傳輸層變成了傳輸層的數據單元,傳輸層把收到的大的報文分割成小的包,再給每一個包加上這一層的報文頭,如TCP頭或者UDP頭,形成新的數據單元然

67、后再交給網絡層,網絡層又在各個數據包上加上自己的IP頭部,包括源IP及目的IP,以方便路由,這樣就到了網絡接口層,這一層給到來的數據加上鏈路層的頭部和尾部,此處是以太網頭部和尾部,最后形成比特流傳輸到線路上。包的封裝過程如圖2-9所示:</p><p>  當數據到達網絡另一端的計算機時,又經過相反的解包過程:首先,數據鏈路層接收到從另一端計算機發(fā)過來的數據幀,并由鏈路層的協(xié)議來讀取數據幀的內容,對于以太網的數據

68、鏈路層幀其中有一個字段是標志上層協(xié)議的,此處我們假設是IP協(xié)議,鏈路層協(xié)議會把以太網首部和尾部都去掉,然后把數據交給上層的網絡層,數據經過網絡層的處理去掉IP首部后交給相應的上層協(xié)議TCP或UDP去處理,同樣道理,TCP或UDP協(xié)議經過對數據的處理后去掉TCP或UDP頭部,又把數據交給應用層去處理,最終還原成用戶數據,這就是數據進入協(xié)議棧時的解封過程,如圖2-10所示:</p><p>  圖 2-9 數據進入協(xié)

69、議棧時的封裝過程</p><p>  圖 2-10 數據進入協(xié)議棧時的解封過程</p><p>  數據在協(xié)議棧里面的封裝與解封的原理是網絡數據包捕獲和進行協(xié)議分析的基礎,本論文所構建的數據包嗅探器就運用了上述的封裝解封原理,并對所捕獲的數據包以協(xié)議樹的形式來顯示包內所包含的協(xié)議層次結構,另外,本論文最高只是涉及到傳輸層的TCP和UDP協(xié)議的解析,考慮到因特網應用層協(xié)議的繁多,并且有可能

70、涉及到加密與解密等一系列的問題,如果要對應用層協(xié)議進行支持,必須首先去了解掌握這種協(xié)議,然后加入相應的應用層協(xié)議解析模塊,由于涉及到眾多問題,所以本論文目前并不支持應用層協(xié)議的解析,將留待下一步繼續(xù)研究。</p><p><b>  仿真技術簡介</b></p><p>  本課題做的網絡協(xié)議仿真軟件實際是嗅探器,嗅探器是指運行在TCP/IP協(xié)議、以太網協(xié)議、IPX協(xié)

71、議或者其他協(xié)議的網絡上,可以獲取網絡信息流的軟件或硬件,硬件形式的Sniffer稱為網絡分析儀,一般都是商業(yè)性的,價格也比較貴。軟件形式的Sniffer有很多,其優(yōu)點是價格便宜,易于學習使用,缺點是無法抓取網絡上所有的傳輸,某些情況下也就無法真正了解網絡的運行情況[2][3]。現在的嗅探器一般都是指軟件意義上的,而不是硬件意義上的,軟件嗅探器成本要比硬件嗅探器低得多,并且使用方便,但是在性能方面會比硬件嗅探器差,后者一般是用在要求比較高

72、的地方。</p><p>  通過對國內外的文獻調研發(fā)現,網絡嗅探中的數據包捕獲主要可以分兩種方式[1],一種是基于操作系統(tǒng)內核的,如Unix、Linux系統(tǒng),它們系統(tǒng)內核本身就提供包捕獲機制;第二種就是基于外界提供的驅動程序庫,如Unix下的Libpcap和Windows下的WinPcap。由操作系統(tǒng)內核提供的捕獲機制主要有以下四種:BPF(Berkeley Packet Filter),DLPI(Data L

73、ink Provider Interface),NIT(Network Interface Tap),SOCK_PACKET套接口。其中BPF由基于BSD的Unix系統(tǒng)內核所實現,而DLPI是Solaris系統(tǒng)的子系統(tǒng),對于NIT則是SunOS 4系統(tǒng)的一部分,但在Solaris系統(tǒng)中已經被DLPI取代,Linux系統(tǒng)內核則實現了SOCK_PACKET的包捕獲機制。從性能上看,BPF比DLPI及NIT效率要高的多,而SOCK_PACKE

74、T最差。</p><p>  嗅探器是網絡管理員用來管理網絡的一種工具,通過嗅探器可監(jiān)視網絡的狀態(tài)、數據流動情況以及網絡上傳輸的信息等。但是黑客們也常通過嗅探器對網絡進行攻擊,網絡嗅探技術在給管理員帶來方便的同時,對網絡信息安全也構成了潛在的威脅。</p><p>  一臺計算機和其他計算機進行通訊,一般都需要安裝一塊網卡,嗅探器要想工作,首先要有網卡的支持,由網卡來負責接收和發(fā)送網絡數據

75、。每塊網卡在出廠時都有一個全球唯一的48bit長的MAC地址,這樣就保證了網卡地址的唯一性。</p><p>  在以太網上,數據是以很小的稱為幀(Frame)的單位傳輸的,一個數據幀有以下幾部分組成,如表2-4。(1)目的MAC地址(2)源MAC地址(3)0800(表示承載的IPv4)(4)IP頭(5)TCP頭或UDP頭(6)數據(7)校驗和。</p><p>  表2-4 數據鏈路層幀

76、格式</p><p>  計算機所直接傳送的數據是大量的二進制數據即比特流,在數據鏈路層被稱為幀。數據發(fā)送和接收的過程是:計算機發(fā)送數據時,數據從應用層向物理層向下傳遞,此過程不斷加上每一層的頭部,逐步包裝成鏈路層數據幀,然后通過網卡發(fā)送到線路上,到達目的計算機后,再執(zhí)行相反的解包過程,最終把數據交給應用層協(xié)議處理,還原成真實數據。對于一個嗅探器來說,也必須使用特定的網絡協(xié)議如TCP協(xié)議來分解嗅探到的數據,這就要

77、求嗅探器本身提供對這種協(xié)議的解碼支持,只有這樣才能夠進行正確的解碼看到數據包里面的數據。另外,嗅探器一般是部署到網絡系統(tǒng)的關鍵位置如路由器和服務器上面的。網絡嗅探在局域網中的應用比較廣泛,按照嗅探環(huán)境的不同,可以分為共享式網絡嗅探和交換式網絡嗅探。前者相對發(fā)展較早,只要將網卡設置為混雜模式,并輔以相應的捕獲程序即可達到嗅探的目的。隨著交換機的普及,交換式網絡嗅探也有了一定的發(fā)展。交換式網絡嗅探區(qū)別于共享式網絡嗅探的地方是它主要利用交換網

78、工作機制中的漏洞來實現。知道了嗅探器的工作原理,我們應該認識到嗅探器并不是專為網絡攻擊入侵而開發(fā)的,其實一些網絡診斷命令就屬于嗅探器的范疇,利用嗅探器可以幫助我們檢查底層</p><p><b>  反嗅探措施</b></p><p><b>  嗅探的檢測</b></p><p>  嗅探作為一種重要的網絡安全技術手段,

79、應得到網絡安全人員的充分認識。由于共享式以太網中的監(jiān)聽原理非常簡單,而且又不干擾正常的網絡通信,所以發(fā)生在其中的嗅探行為很難被發(fā)現。同時,隨著交換式局域網的流行,網絡監(jiān)聽也已經出現在交換式局域網中,因此,如何有效地檢測和發(fā)現局域網中的嗅探行為并進行相應的防范己成為維護局域網安全非常重要的環(huán)節(jié)。盡管網絡嗅探比較隱蔽不易被發(fā)覺,但仍然可以采用以下幾種方法加以防范。</p><p>  (1)采用加密手段對傳輸的數據進

80、行加密,以密文形式傳輸,即使入侵者監(jiān)聽到了傳輸的數據包信息,也不能立刻理解其中的含義,還需要再進一步的破解,自然增加了監(jiān)聽的難度。例如Telnet、FTP等采用SSH2進行傳輸數據,它是提供端到端的驗證與加密的應用層安全通信協(xié)議,是目前國際互聯網上最好的安全通信協(xié)議之一。</p><p>  (2)在重要的終端機器上使用靜態(tài)的ARP表,把本局域網內所有網卡的IP.MAC地址記錄下來,建立IP.MAC數據庫,以便以

81、后使用。</p><p>  (3)對網絡進行分割。網絡廣播數據的時候,數據包只能被同一網絡地址段內的嗅探器捕獲,所以可以利用網絡分割的技術把網絡進一步劃分為小的局域網,縮小嗅探器的嗅探范圍,這樣就能保證網絡其他部分的安全。</p><p><b>  嗅探的防御</b></p><p>  雖然絕對安靜的嗅探器在理論上無法發(fā)現,但是根據嗅探器

82、在工作中對主機系統(tǒng)或網絡通訊的影響,也可從中判斷其是否存在。具體可從以下幾個方面入手:</p><p><b>  (1)網卡工作模式</b></p><p><b>  (2)網絡流量分析</b></p><p><b>  (3)系統(tǒng)資源分析</b></p><p><

83、;b>  (4)引誘策略</b></p><p>  網絡嗅探的防御相對網絡嗅探的實現難度要大得多,目前大多數反監(jiān)聽工具主要采用DNS檢測、ARP檢測等方法,而這些方法本身都存在不少缺陷,它們都依賴于目標主機發(fā)出DNS反向查詢、ARP應答包,而很多優(yōu)秀的嗅探器在運行時會阻止本機發(fā)出以上所說的數據包,從而使基于以上原理檢測的反嗅探工具都會失效。對于一些惡意嗅探,目前還沒有一個一勞永逸的方法,在綜合

84、應用上述方法的同時,還應不斷提高網絡管理人員的安全意識,做到多注意、勤檢查。</p><p>  Windows下的網絡嗅探及WinPcap研究</p><p><b>  WinPcap簡介</b></p><p>  本章作為論文的關鍵部分之一將會做以下幾方面的研究:首先是WinPcap框架的組成部分、WinPcap的新特性與優(yōu)勢,接下來會

85、重點分析WinPcap的體系結構,然后對比Windows與Unix下的網絡嗅探和數據包捕獲機制,研究WindOWS下的嗅探的底層基礎NDIS網絡驅動器接口規(guī)范,最后總結了基于Windows的數據包捕獲方案,得出了基于WinPcap數據包捕獲的一般過程。通過本章對WinPcap驅動的研究分析,深刻理解了WinPcap本身的運行機制,為更合理和高效的運用WinPcap編程奠定了基礎。</p><p>  WinPca

86、p是由意大利的Fulvio Risso和Loris Degioanni等人實現的應用于Win32平臺數據包捕獲與分析的一種驅動軟件包,并提供了在Windows操作系統(tǒng)下的開放源代碼,是一套高性能API封裝庫,有一套標準的抓包接口專門用于網絡數據包的截獲,并在其基礎上增加了自定義數據包的發(fā)送能力以及針對Win32平臺的擴展函數,獨立于Windows操作系統(tǒng)的協(xié)議棧。</p><p>  不同版本的Windows系統(tǒng)

87、都有自己的內核模塊和用戶層模塊,所以使用Windows SDK開發(fā)的嗅探程序在不同的Windows操作系統(tǒng)版本下需重新進行編譯。WinPcap為Win32平臺提供了一個公共的接口Packet.dll,使得程序可以運行在不同版本的Windows 平臺上,而無需重新編譯。另外,WinPcap的標準抓包接口與Libpcap兼容,使系統(tǒng)便于向Unix/Linux平臺移植。</p><p>  WinPcap的主要功能在于

88、獨立于主機協(xié)議如TCP-IP協(xié)議發(fā)送和接收原始數據包,也就是說,WinPcap不能阻塞、過濾或控制其他應用程序對數據報的收發(fā),它只是繞過系統(tǒng)原有的協(xié)議棧監(jiān)聽網絡上傳送的數據包。因此,它不能用于QoS(Quality of Service)調度程序或個人防火墻。WinPcap有以下幾方面的功能[8]:</p><p>  (1)捕獲原始數據包,無論它是發(fā)往某臺機器的,還是在其他設備(共享媒介)上進行交換的。<

89、/p><p>  (2)在數據包發(fā)往應用程序之前,按照自定義的規(guī)則將某些特殊的數據包過濾掉。</p><p>  (3)將原始數據包通過網絡發(fā)送出去。</p><p>  (4)收集并統(tǒng)計網絡流量信息。</p><p>  1)WinPcap框架的各個組成部分</p><p>  圖2-11 Winpcap框架的組成部分

90、</p><p>  如圖2-11所示,WinPcap包括內核級的數據包監(jiān)聽驅動NPF、低級動態(tài)鏈接庫(Packet.dll)和高級系統(tǒng)無關庫(Wpcap.dll)。在利用WinPcap抓包時,要繞過操作系統(tǒng)的協(xié)議棧來訪問網絡上傳輸的原始數據包,這就要求WinPcap的一部分要運行在操作系統(tǒng)核心層,直接與網絡接口驅動交互,這就是NPF驅動要完成的任務,它是依賴于操作系統(tǒng)的。另外,還需要提供向上的用戶級程序接口以方

91、便應用程序調用,WinPcap提供了Packet.dll和Wpcap.dll這兩個動態(tài)鏈接庫,通過調用這些接口,用戶程序可以與NPF交互,利用它所提供的高級特性來捕獲并處理數據包。</p><p>  2)WinPcap的新特性與優(yōu)勢</p><p>  WinPcap除了有強大的數據包捕獲功能以外,相比BSD Capturing Component,它還增加了統(tǒng)計及數據包發(fā)送功能,另外

92、還有遠程捕獲的能力。(1)統(tǒng)計功能可以快速實現對網絡數據的統(tǒng)計,如一定時間內流經總線的數據包數目,數據字節(jié)數等。它不需要把數據包傳送到應用程序,避免了大量的數據包拷貝操作。WinPcap的這種包統(tǒng)計功能是一種非常高效的、用來監(jiān)測網絡的方法,即使在局域網有大量數據包流動時,它仍然可以工作的很好。</p><p>  (2)發(fā)送數據包功能使得應用程序不僅可以嗅探網絡,還可以實現向網絡發(fā)送數據,但是WinPcap本身不

93、具備產生數據包的能力,需要通過手工或者其它工具來構造。</p><p>  (3)WinPcap又擴展了自身的標準代碼,這樣,基于WinPcap的工具可以擁有遠程捕獲的能力[7],這個高級特性能夠捕獲在遠程網絡上傳輸的數據包。它需要一個遠程后臺程序,由它進行捕獲,并把捕獲到的數據發(fā)回,一個本地客戶端會發(fā)送合適的命令并接收捕獲到的數據。例如:遠程后臺程序被加入到客戶軟件中,我們并不需要另外修改,就能使程序擁有遠程捕

94、捉的能力。反之亦然,遠程后臺程序必須被安裝和配置在遠程機器上。遠程捕獲協(xié)議(RPCAP)可以在兩種模式下工作:</p><p>  被動模式(默認):客戶機連接到遠程后臺程序,它發(fā)送一些合適的命令,并開始捕獲。</p><p>  主動模式:遠程后臺程序試圖連接到客戶機,然后,客戶機發(fā)送一些合適的命令,并開始捕獲。主動模式是有用的,除了當遠程后臺程序遇到了防火墻的阻止而不能訪問外部網絡時。

95、在這種情況下,遠程后臺程序可以被配置成允許與已知的主機建立連接,而那個主機,只需要配置成等待連接即可。在連接建立完成之后,協(xié)議會繼續(xù)自己的工作,這些工作在主動模式和被動模式下幾乎是一樣的。</p><p>  使用WinPcap庫相對于其他方法有以下優(yōu)點:</p><p>  (1)函數調用簡單。</p><p>  (2)可以捕獲完整的數據幀,包括鏈路層幀頭信息(

96、不包括幀尾的校驗和,網卡在</p><p>  驗證校驗和后將自動丟棄校驗和部分,只將前面的數據交給上層),從而可以全面地分析各種網絡協(xié)議。</p><p>  (3)可以捕獲從本機發(fā)出的數據幀。</p><p>  (4)內核級的封包過濾,僅提交給應用程序需要的數據,系統(tǒng)開銷小。</p><p>  (5)WinPcap提供了一套標準的抓包

97、接口,與Libpcap兼容,因此用其開發(fā)的應用程序具有較強的可移植性。</p><p>  WinPcap體系結構</p><p>  WinPcap的體系結構是借鑒的BSD Capturing Component的體系結構,首先對BSD Capturing Component的體系結構和Winpcap體系結構做一下對比。</p><p>  1)BSD Capt

98、uring Component的體系結構</p><p>  BSD Capturing Component是Unix下最常用的捕獲數據包的驅動,其基本體系結構見圖2-12。</p><p>  如圖2-4所示,BSD Capturing Component由以下幾部分組成:Network Tap,它負責從網絡直接捕獲所有的數據包;BPF-Berkeley Packet Filter,它

99、用來分析捕獲進來的數據包;兩種Buffer:一種工作在核心層,一種工作在用戶層。經過BPF的數據包被拷貝到Kemel Buffer中,它分為兩個buffer:store buffer和hold buffer。store buffer用于保存從網絡適配器捕獲的數據包,hold buffe則用于將數據包拷貝到用戶的buffer中。</p><p>  二者之間擁有swap特性:由于storebuffer比hold b

100、uffer更易被填滿,所以當store buffer 己滿,而hold buffer為空的時候,store buffer變成hold buffer,而之前的hold buffer變成store buffer,這樣使得用戶的程序和捕獲數據包的驅動完全分開。User-level buffer存儲從核心層進來的數據包,它可防止用戶直接訪問內核管理的內存。</p><p>  圖2-12 BSD Capturing C

101、omponent的體系結構</p><p>  2)WinPcap的體系結構</p><p>  WinPcap體系結構如圖2-13所示。</p><p>  WinPcap包捕獲驅動由三個模塊組成,一個在內核級,另外兩個處于用戶級,以動態(tài)鏈接庫的形式提供。由于BPF功能強大而且工作穩(wěn)定,所以WinPcap沿用了其中幾個最重要的模塊:包過濾器,內核級和用戶級的緩存

102、,用戶級上的兩種庫[9][10]。</p><p>  (1)NPF-Netgroup Packet Filter,內核級的網絡包過濾器,它是WinPcap架構的核心,是一個虛擬設備驅動程序文件,是WinPcap體系結構中最底層的模塊。NPF具有高效和迅速的特點,即使在流量很大的快速局域網中也能正常的進行包捕獲,丟包率小并且占用的系統(tǒng)資源少[11]。</p><p>  (2)Packet

103、.dll一數據包低級驅動程序庫,它是與Libpcap相兼容的一組用戶級的函數庫,為Win32平臺提供了一個公共的接口,是一個能用來直接訪問NPF驅動程序的API。</p><p>  (3)Wpcap.dll.數據包高級驅動程序庫,是個更高層的、系統(tǒng)無關的API,它是對Packet.dll更高層的封裝。</p><p>  處于最下方的是網卡驅動,它用來管理網卡捕獲的數據包。為了讓網卡能夠

104、捕獲網絡中的全部數據包,應將其設為“混雜模式”。</p><p>  在利用WinPcap開發(fā)網絡監(jiān)聽程序時,主要是調用Packet.dll和Wpcap.dll中提供的API函數[12]。Packet.dll直接映射了內核的調用,Wpcap.dll提供了更加友好、功能更加強大的函數調用。當所開發(fā)的捕獲程序沒有涉及到對底層進行編程的特殊需求時,使用Wpcap.dll動態(tài)鏈接庫,其實Wpcap.dll也要使用pack

105、et.dll中的函數,但是Wpcap.dll提供了一個強大及時并且易用的編程環(huán)境。Packet.dll提供了一些Wpcap.dll沒有提供的功能,Wpcap.dll的設計目標是提供一套可移植并且系統(tǒng)無關的捕獲API集合,因此它不可能將驅動所提供的全部功能都輸出出來。所以在這樣的情況下,就需要使用Packet.dll提供的特殊函數來滿足對系統(tǒng)開發(fā)的更高要求。</p><p>  圖2-13 WinPcap的體系結

106、構</p><p>  3)用到的WinPcap的主要用戶接口函數和數據結構</p><p>  (1)用戶接口函數:</p><p>  int pcap_findalldevs():獲得己連接到本機上所有網卡的列表。</p><p>  pcap_t *pcap_open_live():打開一個網絡適配器,建立捕獲會話。</p>

107、;<p>  int pcap_compile():將一個高層的布爾過濾表達式編譯成一個能夠被過濾引</p><p>  擎所解釋的低層的字節(jié)碼。</p><p>  int pcap_setfilter():將一個過濾器與內核捕獲會話相關聯。</p><p>  int pcap_loop()或int pcap_dispatch():進行數據包的捕獲

108、。</p><p>  void pcap freealldevs():釋放設備列表。</p><p>  int pcap datalink():獲取數據鏈路層傳輸類型。</p><p>  void(*) pcap_handler():接收數據包的回調函數。</p><p>  (2)數據結構(只列出了數據結構的名字):</p>

109、;<p>  packetheader:內核緩沖池中每個數據包的預定結構。</p><p>  pcap_addr:接口地址描述。用于函數pcap_findalldevs()。</p><p>  pcap_if:接口表中的一項,用于函數pcap_findalldevs()。</p><p>  pcap_pkthdr:當機轉儲文件(dump file

110、)中數據包的首部。</p><p>  Windows下的網絡嗅探</p><p>  同時WinPcap的出現具有一定的必然性。Windows作為當前最流行的用戶平臺,占據了絕大多數PC用戶的桌面。如何在源碼不公開的Windows操作系統(tǒng)下實現一個網絡嗅探系統(tǒng),成為很多人關注的焦點。微軟贊助了意大利的一家研究院開發(fā)了WinPcap這個項目,最終導致了WinPcap的產生?,F在WinPc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論