版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、重慶交通大學信息科學與工程學院課程設計報告姓 名: 廖微 學 號 631206040326班 級: 通信工程專業(yè) 2012級 3 班 課程設計項目名稱: 網絡協議分析綜合課程實驗 課程設計項目性質: 設計性 實驗室(中心): 軟件實驗中心 指 導 教 師 : 王 勇 課程設計完成時間: 2015 年 1 月 10 日第 16 頁 共 16 頁教師評閱:實驗目的明確;操作步驟正確;設計文稿(表格、程序、數據庫、網頁)符合要求;保存路徑正確; 實驗結果符合要求 實驗分析總結全面;實驗報告規(guī)范; 簽名: 年 月 日實驗成績:一、實驗目的一、課程設計目的1、了解wireshark軟件,學會運用wire
2、shark軟件抓包。2、通過wireshark抓包了解各種協議,可以和幀格式對應去理解3、明白在網絡中信息在主機和客戶端是如何進行交互的。二、相關知識計算機網絡的分層:(1)OSI七層結構 物理層(Physical Layer):為兩個相鄰節(jié)點提供一個物理連接,將信息以比特流方式在通信線路上傳送。數據鏈路層(Data Link Layer,DL):在兩個相鄰節(jié)點間的線路上,無差錯地傳送以幀為單位的數據。網絡層(Network Layer):在計算機網絡中兩臺主機之間傳送以分組或包為單位的數據。傳輸層(Transport Layer):在計算機網絡中兩個端系統之間傳送以報文為單位的數據。會話層(
3、Session Layer):在兩個互相通信的應用進程之間建立、組織和協調其交互。表示層(Presentation Layer):用戶信息的語法表示。應用層(Application Layer):用戶的各種應用程序。(2) TCP/IP體系結構 (3) 五層協議結構 三、課程設計主要內容及原理1、首先,瀏覽器分析URL,因為是以字母(cn)而非數字結尾,可得知當前使用的是域名,必須首先解析其對應的IP地址2、在DNS緩存中查找項,命中則執(zhí)行下面第X步,否則就發(fā)起DNS請求,請求解析域名3、瀏覽器構建DNS包,遞交給傳輸層實體同時告知該包為DNS包。4、傳輸層實體構建UDP包,源端口按主機當前情
4、況選擇,目的端口為53(53端口為DNS(Domain Name Server,域名服務器)服務器所開放,主要用于域名解析),然后將包遞交網絡層。5、網絡層實體以源IP為,目的IP為DNS服務器的即3等字段封裝UDP包以構建IP包。同時,網絡層實體通過子網掩碼運算得知目的主機不在本子網,則應發(fā)給網關。在ARP緩存中查找項,如果命中則執(zhí)行第7步,否則6、進行ARP廣播,找到的網關,找到的同時并更新ARP緩存。 7、此時在ARP緩存中查找到了則直接發(fā)送到該網段的網關,網關然后再將IP幀的封裝包傳送到數
5、據鏈路層。數據鏈路層將IP幀的封裝包加上頭部和尾部組裝成幀,發(fā)送到物理層。 8、傳輸到物理層,物理層確保原始的數據可在各種物理媒體上傳輸。物理層是比特流的傳送,因此不需要在加控制信息。9、先傳輸到本機的數據鏈路層,數據鏈路層要檢測所接收到的幀是否有差錯,數據鏈路層就簡單地丟棄這個出差錯的幀,如果需要改正數據在數據鏈路層時出現的差錯,此時采用可靠傳輸協議來糾正差錯。然后利用逆ARP協議將MAC解析為IP地址,此時可以直接在ARP緩存找到網關,并將數據包直接發(fā)送到該路由器10、在網絡層,根據控制信息進行必要的操作,然后剝離幀的控制信息將幀還原成為IP數據包。就根據首部中的
6、目的地址查找路由器中的路由表,找出轉發(fā)分組接口。然后往傳輸層進行發(fā)送11、在傳輸層中,會對IP包進行解析,去掉頭部,此時的稱其為用戶數據包UDP。然后將UDP發(fā)送給應用層12、應用層經過對控制信息的處理,此時就只剩下數據項,就將數據項直接發(fā)送給服務器。服務器收到數據后,給解析出來的IP地址直接發(fā)送到主機,此時的發(fā)送過程和前幾步是一樣的 這樣主機和DNS服務器就完成了一次DNS包的傳輸和,如果要進行數據的傳輸,還需要和web服務器進行一次三次握手,這樣雙方就能通信了三、課程設計過程簡述先利用ipconfig/flushdns將本地的DNS服務器緩存清除,然后打開wireshark,選正確自己所選
7、用的網卡。然后將學校主頁的地址寫入網頁的地址欄,在打開網頁之前,先運行wireshark,然后開始抓包,對于這次抓的包進行分析。首先通過客戶端到服務器端,先將五層協議的通路走通。主機要發(fā)送信息首先要經過應用層,這一層是應用進程間通信和交互原則,常用的有HTTP協議,在這層,首先將數據包打包。然后將數據包發(fā)送到運輸層,運輸層主要有TCP和UDP協議,按照相應的信息,把數據包打包成UDP包或者TCP包,只要給數據包加上頭部即可。然后將UDP包(TCP包)發(fā)送到下一層,網絡層。網絡層要做的事情也是封裝,將上層傳送下來的包進行IP封裝。封裝好了之后將數據傳送到數據鏈路層,將IP數據包組裝成幀,組裝成幀
8、需要將IP數據包加上頭部和尾部。之后就傳送到物理層,通過物理層的傳輸,傳輸到服務器端的數據鏈路層,在服務器端,就等于是對封裝包的一層一層的剝離,等于是客戶端封裝的逆過程。這就是數據的一次傳輸,之后的數據傳輸還是按照這個過程來的。應用進程的數據在各層之間傳遞所經過的變化描述如下:(為簡單起見,假定兩個主機是直接相連的。)假定主機1的應用進程AP1向主機2的應用進程AP2傳送數據。AP1先將其數據交給本主機的第5層應用層。第五層加上必要的控制信息H5就變成了下一層的數據單元。第4層運輸層收到這個數據單元后,加上本層的控制信息H4再交給第3層網絡層,成為第3層的數據單元。以此類推,不過到了第2層數據
9、鏈路層后,控制信息分成兩部分,分別加到數據單元的首部和尾部,而第1層物理層由于是比特流的傳送所以不再加上控制信息。四、課程設計結果及分析(1)DNS協議的分析。獲取輸入URL的域名地址,例如域名到IP地址的解析過程如下:當某一個應用進程需要把主機名解析為IP地址時,該應用進程就調用解析程序,并成為DNS的一個客戶,把待解析的域名放在DNS請求報文中,以UDP用戶數據報的形式發(fā)給本地域名服務器。本地域名服務器在查找域名后,把對應的IP地址放在回答報文中返回。應用進程獲得目的主機的IP地址后即可進行通信?;局R:DNS的報文格式是: 其中12個字節(jié)的為頭部部分,其次是查詢問題,回答,授權和額外信
10、息,所有的請求報文都有查詢問題,后面3個都是DNS服務器返回的應答報文所填充的。標識(2字節(jié))可以看作是DNS的標志。標志也是兩字節(jié),是十分重要的部分。抓包截圖如下:這部分我們可以對照wireshark的截圖來觀察DNS協議的標志:QR(1比特):查詢/響應的標志位,1為響應,0為查詢。0就表示該DNS協議為查詢報文。opcode(4比特):定義查詢或響應的類型(若為0則表示是標準的,若為1則是反向的,若為2則是服務器狀態(tài)請求)。這個查詢的類型是標準的。AA: 授權應答(Authoritative Answer) - 這個比特位在應答的時候才有意義,指出給出應答的服務器是查詢域名的授權解析服務
11、器。注意因為別名的存在,應答可能存在多個主域名,這個AA位對應請求名,或者應答中的第一個主域名。TC(1比特):截斷標志位。1表示響應已超過512字節(jié)并已被截斷。0表示響應沒有被截斷。RD(1比特):該位為1表示客戶端希望得到遞歸回答。zero(3比特):為0,保留位。在接下來我們還可以看見四個選項Questions 1 表明問題數為1回答數Answer RRs: 0 權威數Authority RRs: 0 附加數Additional RRs: 0我們可以看到問題是詢問的域名解析。下面的圖描述DNS服務器對域名進行解析:我們可以從answer中看出,目的IP解析出來是
12、。(2)瀏覽器將DNS包遞給傳輸層3、傳輸層構建UDP包,遞交網絡層傳輸層構建的UDP包使用了UDP的傳輸協議,將這個包遞交給了網絡層,從wireshark抓包分析中我們可以看到,源端口用的是53358端口,目的端口是53端口,長度為46字節(jié)。UDP傳輸協議(4)網絡層將UDP包封裝為IP包IP數據報的格式為:通過這個IP幀格式,我們就可以將IP封裝包進行解讀。版本:IPv4。首部長度:20字節(jié)。區(qū)分服務:只有在使用區(qū)分服務時,該字段才起作用,一般情況下都不起作用??傞L度:指首部和數據之和的長度為59字節(jié)。標識:IP軟件在存儲器中維持一個計數器,每產生一個數據報,計數器就加1,此時計數器的值是
13、7565。標志:占三位,但是目前只有前兩位有意義。第一個是最低標記位MF=0,表示這是若干數據報片中的最后一個。中間標記為DF=0,表示不能分片。片偏移:因為沒有分片,所以片偏移為零。生存時間:TTL(Time to live)表示跳數,一共有64跳,表明在因特網中該數據報最多可經過64個路由器。因為是問題發(fā)送端,所以還沒有經過路由器。協議:由圖可知,運用了UDP傳輸協議。首部校驗和:只檢驗數據包的首部,檢驗出來的結果是correct。源IP地址:本機地址目的IP地址:3 學校的DNS服務器IP地址。(4)進行ARP廣播,找到網關硬件類 型協 議類
14、型 12op 發(fā)送端以太網地址發(fā)送端IP地址目的端以太網地址目的IP地址在wireshark中,我們可以看到類型是一個Broadcast,在詢問誰3網關。ARP包的外部還有以太網幀,增加了一個頭部和尾部。在ARP協議中,我們可以看到:硬件類型:1。以太網的硬件類型協議類型:是IP協議中的一個。1(硬件地址長度):MAC地址長度,為6個字節(jié)。2(協議地址長度):因為使用的IPv4,所以協議長度4個字節(jié)。op操作符:1,該包為一個請求包。發(fā)送端MAC地址:00:1a:a9:7e:50:a8發(fā)送端IP地址:目的端MAC地址:00:00:00:00:00:00目的I
15、P地址:3然后將IP數據包發(fā)送到數據鏈路層。(5)數據鏈路層將IP數據報封裝為幀Ethernet II結構為 6字節(jié) 6字節(jié) 2字節(jié) 46-1500字節(jié) 4字節(jié)目標MAC地址源MAC地址類型數據FCS可以與圖片相對應的進行解讀:目的MAC地址:00:1a:a9:7e:50:a8源MAC地址:9c:2a:70:50:e2:d3類型:IP表示上層用的IP數據包。FCS:Frame Check Sequence,用于糾錯,含有一個4位的冗余校驗碼。 (6)在數據鏈路層中加上頭部和尾部,然后發(fā)送到物理層,交給物理層之后發(fā)送給外部線路。(7)服務器的物理層接收到數據,并把數據發(fā)送給上層
16、的數據鏈路層,數據鏈路層先要檢查MAC地址,并對所收到的幀進行糾錯和檢錯。沒有錯誤后,去掉以太幀的首部和尾部之后,將IP包發(fā)送給網絡層,網絡層去掉IP頭部之后,把UDP包發(fā)回給傳輸層,最后傳輸層將DNS包發(fā)送給服務器端。(8)DNS服務器將發(fā)送過來的DNS中域名進行解析,解析出IP地址后按照上述所說的過程將IP地址發(fā)送給主機。在這個包里面,可以看到,返回來了的IP地址。(9)瀏覽器構建了HTTP包,請求傳輸數據,并且發(fā)送給了傳輸層。HTTP有兩類報文:(1)請求報文從客戶想服務器發(fā)送請求報文(2)響應報文從服務器到客戶端的回答 在wireshark的截圖中,我們可以看
17、到該HTTP顯示是一個請求報文。在上面我們可以看到請求的方法,請求的版本等。Host頭域指定請求資源的Intenet主機和端口號,上面包含了url的原始服務器()。connection告訴服務器一直保持鏈接。user-agent表明用戶代理使用的瀏覽器。Accept-language表示了用戶希望優(yōu)先得到中文網頁。(10)建立鏈接需要用TCP協議,因為網頁的傳輸是需要可靠的服務的,因此使用傳輸控制協議TCP TCP協議的格式我們可以對照TCP的幀結構來解讀TCP的幀結構源端口:2字節(jié),50280代理服務器列表目的端口:2字節(jié),80端口,開放了HTTP協議。序號:4字節(jié),為1。TCP是面向字節(jié)流
18、的。在一個TCP連接中傳送的字節(jié)流中的每一個自己都按順序編號。保留:占6位,目前是全部置為0。緊急URG:當URG=1時,表明緊急指針字段有效。此時就告訴系統這個數據的優(yōu)先級比較高,要優(yōu)先傳送。在該圖中,URG=0,只說明這是個普通的數據。確認ACK:ACT=0時,確認號無效,這說明了連接還沒有建立,因為TCP規(guī)定,連接建立后所有傳送的報文段都必須把ACK置1,圖中,ACK=1。推送PSH:當兩個應用進程進行交互式通信時,有時在一端的應用進程希望在鍵入一個命令后立即能夠收到對方的響應。此時PSH置為1.復位RST:當RST=1時,表明TCP連接中出現嚴重差錯,必須釋放連接,然后重新建立運輸連接
19、。還可以用來拒絕一個非法的報文段或拒接打開一個連接。此時RST=0,表明TCP連接沒有出現錯誤,也不用拒絕打開連接。同步SYN:在連接建立是用來同步的序號。當SYN=1而ACK=0時,表明這是一個連接請求報文段。當同時置1時,表示連接接收報文。當前的TCP協議正好是一個連接接受的報文段。終止FIN:用來釋放一個連接。此時FIN=0,表示數據還沒有發(fā)送完,不用中止連接。窗口:占兩字節(jié)。窗口指的是發(fā)送本報文段的一方的接收窗口。窗口值告訴告訴對方:從本報文段首部的確認信號算起,接收方目前允許對方發(fā)送的數據量。此時的窗口值為16425。最后剩下的了校驗和和選項,選項的長度是可變的。(11) 連接建立
20、即此時主機向服務器發(fā)送請求報文段,完成3次握手第一次握手TCP規(guī)定同部位SYN=1,SYN報文段不帶數據,序號為0,我與服務器第一次握手SYN=1,報文段的數據為0。第二次握手 服務器發(fā)回確認包, 標志位為 SYN,ACK. 將確認序號設置為客戶的序號加1,即0+1=1。第三次握手TCP客戶收到服務器確認報文段后,再向服務器發(fā)出確認報文段ACK=1,TCP規(guī)定若無數據則消耗序號。此時序號還為1,則傳輸的信號無序號。TCP建立連接的三次握手如圖:(12) 數據傳送 完成三次握手后,客戶端和服務器端就可以傳送數據了。比如網頁的圖片聲音等數據,但是在傳輸數據的時候,還是需要通過5層協議來傳輸,傳輸的
21、方法和上述的相同。(13) 連接釋放 當雙方都不需要數據的時候就會釋放連接,雙方任一一方都可先釋放。TCP規(guī)定,請求釋放方A先提出釋放連接則FIN=1,且要消耗序號。B接到釋放請求后會發(fā)出確認及ACK=1,這時請求釋放方無數據發(fā)送給B了,但B可再發(fā)數據給A,若B也無數據發(fā)送了,因此也要發(fā)送釋放連接報段;B也無數據發(fā)送了也發(fā)送了釋放連接報段,這時FIN也應為1,無數據,有序號A收到釋放報文后也要發(fā)出后確認,則釋放連接全部結束,雙方都不會放送數據,也不會收到對方的數據。此過程為四次握手。 五、心得體會本次實驗主要結合了計算機網絡這門課程的基礎知識,在課本知識的基礎上使用Wireshark軟件進行抓
22、包并且對網絡體系結構進行分析,本次實驗的主要內容是主要分析了應用層的DNS協議,運輸層的UDP用戶數據報協議,網絡層的IP協議,解決IP地址與MAC地址映射問題的ARP協議,數據鏈路層中的硬件地址等。主機要發(fā)送信息首先要經過應用層,這一層是應用進程間通信和交互原則,常用的有HTTP協議,在這層,首先將數據包打包。然后將數據包發(fā)送到運輸層,運輸層主要有TCP和UDP協議,按照相應的信息,把數據包打包成UDP包或者TCP包,只要給數據包加上頭部即可。然后將UDP包(TCP包)發(fā)送到下一層,網絡層。網絡層要做的事情也是封裝,將上層傳送下來的包進行IP封裝。封裝好了之后將數據傳送到數據鏈路層,將IP數據包組裝成幀,組裝成幀需要將IP數據包加上頭部和尾部。之后就傳送到物理層,通過物理層的傳輸,傳輸到服務器端的數據鏈路層,在服務器端,就等于是對封裝包的一層一層的剝離,等于是客戶端封裝的逆過程。這就是數據的一次傳輸,之后的數據傳輸還是按照這個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年枸杞采摘采摘技術與設備租賃合同3篇
- 二零二五年度網絡安全人才培養(yǎng)與輸送合同2篇
- 二零二五版果園果樹種植與農業(yè)技術培訓服務合同樣本3篇
- 二零二五年度采砂廠承包綜合效益評估合同范本3篇
- 二零二五版智能化住宅項目施工及造價管理合同3篇
- 二零二五年度環(huán)保污水處理設備采購補充合同范本2篇
- 2025年新型城鎮(zhèn)化項目場地租賃與開發(fā)建設合同范本2篇
- 二零二五版環(huán)保設施投資合作合同3篇
- 二零二五版交通事故車輛損失賠償合同3篇
- 二零二五版特種車輛租賃及操作培訓合同3篇
- 寒潮雨雪應急預案范文(2篇)
- DB33T 2570-2023 營商環(huán)境無感監(jiān)測規(guī)范 指標體系
- 上海市2024年中考英語試題及答案
- 房屋市政工程生產安全重大事故隱患判定標準(2024版)宣傳海報
- 垃圾車駕駛員聘用合同
- 2025年道路運輸企業(yè)客運駕駛員安全教育培訓計劃
- 南京工業(yè)大學浦江學院《線性代數(理工)》2022-2023學年第一學期期末試卷
- 2024版機床維護保養(yǎng)服務合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認定》
- 工程融資分紅合同范例
- 2024國家安全員資格考試題庫加解析答案
評論
0/150
提交評論