網絡協議分析與仿真課程設計報告書_第1頁
網絡協議分析與仿真課程設計報告書_第2頁
網絡協議分析與仿真課程設計報告書_第3頁
網絡協議分析與仿真課程設計報告書_第4頁
免費預覽已結束,剩余8頁可下載查看

付費下載

VIP免費下載

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

文檔簡介

1、西安郵電大學網絡協議分析與仿真課程設計報告書院系名稱:實驗內容:學生姓名:專業名稱:計算機學院網絡流量分析網絡工程班級:學號:時間:2012年 12月 15日1/12網絡協議分析與仿真課程設計報告網絡流量分析一、課程設計目的加深對 IP、DSN 、TCP、 UDP、HTTP等協議的理解;掌握流量分析工具的使用,學習基本的流量分析方法。二、課程設計內容流量分析? 工具: Wireshark(Windows 或 Linux),tcpdump (Linux)? 要求:使用過濾器捕獲特定分組;用腳本分析大量流量數據(建議用perl)。? 內容: Web 流量分析清除本機 DNS緩存,訪問某一網站主頁,

2、捕獲訪問過程中的所有分組,分析并回答下列問題(以下除 1、3、8、11 外,要求配合截圖回答):( 1) 簡述訪問 web 頁面的過程。( 2) 找出 DNS解析請求、應答相關分組,傳輸層使用了何種協議,端口號是多少?所請求域名的 IP 地址是什么?( 3) 統計訪問該頁面共有多少請求 IP 分組,多少響應 IP 分組?(提示:用腳本編程實現)( 4) 找到 TCP連接建立的三次握手過程,并結合數據,繪出 TCP連接建立的完整過程,注明每個 TCP報文段的序號、 確認號、以及 SYNACK的設置。( 5) 針對( 4)中的 TCP連接,該 TCP連接的四元組是什么?雙方協商的起始序號是什么?

3、TCP連接建立的過程中,第三次握手是否帶有數據?是否消耗了一個序號?( 6) 找到 TCP連接的釋放過程,繪出 TCP連接釋放的完整過程, 注明每個 TCP 報文段的序號、確認號、以及 FINACK的設置。( 7) 針對(6)中的 TCP連接釋放,請問釋放請求由服務器還是客戶發起? FIN 報文段是否攜帶數據,是否消耗一個序號? FIN 報文段的序號是什么?為什么是這個值?( 8) 在該 TCP連接的數據傳輸過程中,找出每一個 ACK報文段與相應數據報文段的對應關系,計算這些數據報文段的往返時延 RTT(即 RTT樣本值)。根據課本 200 頁節內容,給每一個數據報文段估算超時時間 RTO。(

4、提示:用腳本編程實現)( 9) 分別找出一個HTTP 請求和響應分組,分析其報文格式。參照課本2432/12頁圖 6-12 ,在截圖中標明各個字段。( 10) 訪問同一網站的不同網頁,本次訪問中的TCP 連接是否和上次訪問相同?(與上次頁面訪問時間間隔不能過長,可連續訪問,分別分析。 )( 11) 請描述 HTTP協議的持續連接的兩種工作方式。訪問這些頁面(同一網站的不同頁面)的過程中,采用了哪種方式?(參考課本241 頁)三、設計與實現過程( 1) 簡述訪問 web頁面的過程。1)解析 Web頁面的 URL,得到 Web服務器的域名2)通過 DNS服務器獲得 Web服務器的 IP 地址3)與

5、 Web服務器建立 TCP連接4)與 Web 服務器建立 HTTP 連接5)從 Web 服務器獲得 URL 指定的文檔6)瀏覽器解釋頁面文檔,并顯示在屏幕(2)、找出 DNS 解析請求、應答相關分組,傳輸層使用了何種協議,端口號是多少?所請求域名的 IP 地址是什么?DNS解析請求,應答分組:請求:(本機端口: 59257; DNS 服務器端口: 53)應答:( DNS 服務器端口: 53;本機端口: 59257)傳輸層協議: udp 協議。所請求域名 ip 是:( 3)、統計訪問該頁面共有多少請求 IP 分組,多少響應 IP 分組?(提示:用腳本編程實現)請求分組:3/12腳本Package

6、_count.sh#!/bin/bash#by sky version 1.0#20121205function checkip dot=echo $1 | awk -F '.' 'print NF-1'if $dot -ne 3 ; thenreturn 1ifcount=0for var in echo $1 | awk -F. 'print $1, $2, $3, $4'doecho $var | grep "0-9*$" >/dev/nullif $? -ne 0 ; thenreturn 1fiif $var

7、-ge 0 -a $var -le 255 ; then(count=count+1)continueelsereturn 1fidoneif $count -eq 4 ; thenreturn 0elsereturn 1fiif $# -eq 0 -o $# -ne 2 thenecho "Usage:shellname filename ipaddress"echo "just like:4/12exit 1fiif ! -f $1 thenecho "The $1 is no exist"exit 2fi#echo $2 | grep &

8、#39;(0-91,3.)30-91,3' >> /dev/null checkip $2if $? -ne 0 thenecho "Please input effective IP"exit 3finumber=grep "Src: $2 " $1 2> /dev/null | wc -l if $number -eq 0 thenecho "Please input an IP than include the $1"exit 4fiecho "The $2 as source has $nu

9、mber packages"(4) 找到 TCP連接建立的三次握手過程, 并結合數據,繪出 TCP連接建立的完整過程,注明每個 TCP報文段的序號、確認號、以及 SYNACK的設置。與 tcp 建立連接的三次握手的分組:TCP三次握手過程5/12第一次握手:建立連接時,客戶端發送syn 包 (syn=j) 到服務器,并進入SYN_SEND 狀態,等待服務器確認;第二次握手:服務器收到 syn 包,必須確認客戶的 SYN( ack=j+1),同時自己也發送一個 SYN 包(syn=k),即 SYN+ACK 包,此時服務器進入 SYN_RECV 狀態;第三次握手:客戶端收到服務器的 SY

10、N ACK 包,向服務器發送確認包 ACK(ack=k+1) ,此包發送完畢,客戶端和服務器進入 ESTABLISHED 狀態,完成三次握手。實現過程如下:第一次:(序號: 0, SYN: 1)第二次:(序號: 0, 確認號: 1,SYN :1,ACK:1 )第三次:(序號: 1, 確認號: 1,SYN :0,ACK:1 )6/12( 5)針對( 4)中的 TCP 連接,該 TCP 連接的四元組是什么?雙方協商的起始序號是什么? TCP 連接建立的過程中,第三次握手是否帶有數據?是否消耗了一個序號?四元組:源地址;目的地址;源端口 -49382目的端口 -80協商的起始序號: 0;第三次握手未

11、攜帶數據。消耗一個序號。7/12( 6)找到 TCP連接的釋放過程, 繪出 TCP連接釋放的完整過程, 注明每個 TCP 報文段的序號、確認號、以及 FINACK的設置。TCP 釋放過程:A、服務器向本機請求釋放:B、本機響應服務器的請求釋放: (半關閉)C、本機向服務器請求釋放連接:D、服務器響應本機的請求釋放:TCP的釋放過程流程圖:8/12(7) :針對( 6)中的 TCP 連接釋放,請問釋放請求由服務器還是客戶發起? FIN 報文段是否攜帶數據, 是否消耗一個序號? FIN 報文段的序號是什么?為什么是這個值?釋放請求由服務器發起。FIN 報文段未攜帶數據。消耗了一個序號:實現過程如下

12、:FIN 報文段的序號是 436(8)、在該 TCP連接的數據傳輸過程中,找出每一個ACK報文段與相應數據報文段的對應關系,計算這些數據報文段的往返時延RTT(即 RTT樣本值)。根據課本 200 頁節內容,給每一個數據報文段估算超時時間RTO。9/12腳本#!/bin/bash#by sky version 1.0#20121207if $# -ne 1 thenecho "Usage:shellname filename"echo "Just like:rtt_count.sh http"exit 1fiif ! -f $1 thenecho &qu

13、ot;Please input an effective file"exit 2figrep RTT $1 |awk 'BEGINs1=0.125; s2=0.875; d1=0.25; d2=0.75 RTTNR=$9; line_num=NRENDfor( i=1; i<=line_num; i+ )RTTSi=s2*RTTi-1+s1*RTTi;RTTDi=d2*RTTDi-1+d1*(RTTSi>RTTi?RTTSi-RTTi:RTTi-RTTSi);10/12printf("The number is %dttRTTS->%0.8ftRT

14、TD->%0.8ftRTTS->%0.8fn",i,RTTSi,RTTDi,RTTSi +4*RTTDi)'(9)、分別找出一個 HTTP請求和響應分組,分析其報文格式。參照課本243 頁圖 6-12 ,在截圖中標明各個字段。請求報文:響應報文:10)、訪問同一網站的不同網頁, 本次訪問中的 TCP連接是否和上次訪問相同?(與上次頁面訪問時間間隔不能過長,可連續訪問,分別分析。)訪問同一網站的另一網頁本次訪問中的 TCP連接是與上次訪問不相同(11)、請描述 HTTP協議的持續連接的兩種工作方式。訪問這些頁面(同一網站的不同頁面)的過程中,采用了哪種方式?(參考課

15、本241 頁)11/12http 協議的持續連接的兩種工作方式:a. 非流水線方式:客戶在收到前一個響應后才能發出下一個請求,在TCP連接已建好后,客戶每次訪問一次對象都要用去一個往返時間RTT。b. 流水線方式:客戶在收到 HTTP的響應報文之前就能夠接著發送新的請求報文,客戶訪問所有的對象只需花費一個 RTT時間。訪問這些頁面過程中采用流水線方式四、設計技巧及體會通過本次課程設計,我們加深對IP、DSN 、 TCP、 UDP、HTTP等協議的理解;并且通過用 wireshark 流量分析工具,進行抓包、過濾、篩選等一系列操作獲取到有用的數據進行觀察、分析、處理。通過觀察和處理數據,更加深刻的理解了tcp 建立的三次握手、 以及釋放的四次揮手過程以及更加明確的了解了tcp、udp、http 等協議的工作原理,以及他們的作用。而且我們也學會了在Linux 環境下用shell 或 perl 腳本編程實現一些數據的統計與計算功能, 提高了我們的 Linux 操作技能,豐富了我在 Linux 方面的知識。本次試驗我遇到了很多問題,包括抓包過程由于出現

溫馨提示

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

評論

0/150

提交評論