網(wǎng)絡(luò)協(xié)議分析與仿真課程設(shè)計(jì)報(bào)告書_第1頁(yè)
已閱讀1頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  網(wǎng)絡(luò)協(xié)議分析與仿真</b></p><p><b>  課程設(shè)計(jì)報(bào)告書</b></p><p>  網(wǎng)絡(luò)協(xié)議分析與仿真課程設(shè)計(jì)報(bào)告</p><p><b>  網(wǎng)絡(luò)流量分析</b></p><p>  一、   

2、60;課程設(shè)計(jì)目的</p><p>  加深對(duì)IP、DSN 、TCP、UDP、HTTP等協(xié)議的理解;</p><p>  掌握流量分析工具的使用,學(xué)習(xí)基本的流量分析方法。</p><p>  二、    課程設(shè)計(jì)內(nèi)容</p><p><b>  流量分析</b></p>

3、<p>  工具:Wireshark(Windows或Linux),tcpdump(Linux)</p><p>  要求:使用過濾器捕獲特定分組;用腳本分析大量流量數(shù)據(jù)(建議用perl)。</p><p>  內(nèi)容:Web流量分析</p><p>  清除本機(jī)DNS緩存,訪問某一網(wǎng)站主頁(yè),捕獲訪問過程中的所有分組,分析并回答下列問題(以下除1、3、8

4、、11外,要求配合截圖回答):</p><p>  簡(jiǎn)述訪問web頁(yè)面的過程。</p><p>  找出DNS解析請(qǐng)求、應(yīng)答相關(guān)分組,傳輸層使用了何種協(xié)議,端口號(hào)是多少?所請(qǐng)求域名的IP地址是什么?</p><p>  統(tǒng)計(jì)訪問該頁(yè)面共有多少請(qǐng)求IP分組,多少響應(yīng)IP分組?(提示:用腳本編程實(shí)現(xiàn))</p><p>  找到TCP連接建立的三次

5、握手過程,并結(jié)合數(shù)據(jù),繪出TCP連接建立的完整過程,注明每個(gè)TCP報(bào)文段的序號(hào)、確認(rèn)號(hào)、以及SYN\ACK的設(shè)置。</p><p>  針對(duì)(4)中的TCP連接,該TCP連接的四元組是什么?雙方協(xié)商的起始序號(hào)是什么?TCP連接建立的過程中,第三次握手是否帶有數(shù)據(jù)?是否消耗了一個(gè)序號(hào)?</p><p>  找到TCP連接的釋放過程,繪出TCP連接釋放的完整過程,注明每個(gè)TCP報(bào)文段的序號(hào)、確

6、認(rèn)號(hào)、以及FIN\ACK的設(shè)置。</p><p>  針對(duì)(6)中的TCP連接釋放,請(qǐng)問釋放請(qǐng)求由服務(wù)器還是客戶發(fā)起?FIN報(bào)文段是否攜帶數(shù)據(jù),是否消耗一個(gè)序號(hào)?FIN報(bào)文段的序號(hào)是什么?為什么是這個(gè)值?</p><p>  在該TCP連接的數(shù)據(jù)傳輸過程中,找出每一個(gè)ACK報(bào)文段與相應(yīng)數(shù)據(jù)報(bào)文段的對(duì)應(yīng)關(guān)系,計(jì)算這些數(shù)據(jù)報(bào)文段的往返時(shí)延RTT(即RTT樣本值)。根據(jù)課本200頁(yè)5.6.2節(jié)內(nèi)

7、容,給每一個(gè)數(shù)據(jù)報(bào)文段估算超時(shí)時(shí)間RTO。(提示:用腳本編程實(shí)現(xiàn))</p><p>  分別找出一個(gè)HTTP請(qǐng)求和響應(yīng)分組,分析其報(bào)文格式。參照課本243頁(yè)圖6-12,在截圖中標(biāo)明各個(gè)字段。</p><p>  訪問同一網(wǎng)站的不同網(wǎng)頁(yè),本次訪問中的TCP連接是否和上次訪問相同?(與上次頁(yè)面訪問時(shí)間間隔不能過長(zhǎng),可連續(xù)訪問,分別分析。)</p><p>  請(qǐng)描述HT

8、TP協(xié)議的持續(xù)連接的兩種工作方式。訪問這些頁(yè)面(同一網(wǎng)站的不同頁(yè)面)的過程中,采用了哪種方式?(參考課本241頁(yè))</p><p><b>  設(shè)計(jì)與實(shí)現(xiàn)過程</b></p><p>  簡(jiǎn)述訪問web頁(yè)面的過程。</p><p>  1)解析Web頁(yè)面的URL,得到Web服務(wù)器的域名2)通過DNS服務(wù)器獲得Web服務(wù)器的IP地址</p

9、><p>  3)與Web服務(wù)器建立TCP連接</p><p>  4)與Web服務(wù)器建立HTTP連接5)從Web服務(wù)器獲得URL指定的文檔6)瀏覽器解釋頁(yè)面文檔,并顯示在屏幕</p><p>  (2)、找出DNS解析請(qǐng)求、應(yīng)答相關(guān)分組,傳輸層使用了何種協(xié)議,端口號(hào)是多少?所請(qǐng)求域名的IP地址是什么?</p><p>  DNS解析請(qǐng)求,應(yīng)

10、答分組:</p><p>  請(qǐng)求:(本機(jī)端口:59257;DNS服務(wù)器端口:53)</p><p>  應(yīng)答:(DNS服務(wù)器端口:53;本機(jī)端口:59257)</p><p>  傳輸層協(xié)議:udp協(xié)議。</p><p>  所請(qǐng)求域名ip是:123.125.160.40</p><p>  (3)、統(tǒng)計(jì)訪問該頁(yè)面共

11、有多少請(qǐng)求IP分組,多少響應(yīng)IP分組?(提示:用腳本編程實(shí)現(xiàn))</p><p><b>  請(qǐng)求分組:</b></p><p>  (ip.src eq 172.16.1.234 or ip.dst eq 172.16.1.234) and( ip.src eq 123.125.160.40 or ip.dst eq 123.125.160.40)</p>

12、<p><b>  腳本</b></p><p>  Package_count.sh</p><p>  #!/bin/bash</p><p>  #by sky version 1.0</p><p><b>  #20121205</b></p><p>

13、;  function checkip {</p><p>  dot=`echo $1 | awk -F '.' '{print NF-1}'`</p><p>  if [ $dot -ne 3 ]; then</p><p><b>  return 1</b></p><p>&l

14、t;b>  if</b></p><p><b>  count=0</b></p><p>  for var in `echo $1 | awk -F. '{print $1, $2, $3, $4}'`</p><p><b>  do</b></p><p>

15、;  echo $var | grep "^[0-9]*$" >/dev/null</p><p>  if [ $? -ne 0 ]; then</p><p><b>  return 1</b></p><p><b>  fi</b></p><p>  if [

16、$var -ge 0 -a $var -le 255 ] ; then</p><p>  ((count=count+1))</p><p><b>  continue</b></p><p><b>  else</b></p><p><b>  return 1</b>

17、;</p><p><b>  fi</b></p><p><b>  done</b></p><p>  if [ $count -eq 4 ]; then</p><p><b>  return 0</b></p><p><b> 

18、 else</b></p><p><b>  return 1</b></p><p><b>  fi</b></p><p><b>  }</b></p><p>  if [ $# -eq 0 -o $# -ne 2 ] </p><p

19、><b>  then</b></p><p>  echo "Usage: shellname filename ipaddress"</p><p>  echo "just like: package_count.sh http 172.16.1.234"</p><p><b

20、>  exit 1</b></p><p><b>  fi</b></p><p>  if [ ! -f $1 ]</p><p><b>  then</b></p><p>  echo "The $1 is no exist"</p>&

21、lt;p><b>  exit 2</b></p><p><b>  fi</b></p><p>  #echo $2 | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' >> /dev/null</p><p>  checkip ${2}<

22、;/p><p>  if [ $? -ne 0 ]</p><p><b>  then</b></p><p>  echo "Please input effective IP"</p><p><b>  exit 3</b></p><p><b

23、>  fi </b></p><p>  number=`grep "Src: $2 " $1 2> /dev/null | wc -l `</p><p>  if [ $number -eq 0 ]</p><p><b>  then </b></p><p>  ech

24、o "Please input an IP than include the $1"</p><p><b>  exit 4</b></p><p><b>  fi</b></p><p>  echo "The $2 as source has $number packages"

25、;</p><p>  (4) 找到TCP連接建立的三次握手過程,并結(jié)合數(shù)據(jù),繪出TCP連接建立的完整過程,注明每個(gè)TCP報(bào)文段的序號(hào)、確認(rèn)號(hào)、以及SYN\ACK的設(shè)置。</p><p>  與tcp建立連接的三次握手的分組:</p><p><b>  TCP三次握手過程</b></p><p>  第一次握手:建立連

26、接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn); 第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài); 第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完

27、成三次握手。</p><p><b>  實(shí)現(xiàn)過程如下:</b></p><p>  第一次:(序號(hào):0, SYN:1)</p><p>  第二次:(序號(hào):0, 確認(rèn)號(hào):1,SYN:1,ACK:1)</p><p>  第三次:(序號(hào):1, 確認(rèn)號(hào):1,SYN:0,ACK:1)</p><p>

28、 ?。?)針對(duì)(4)中的TCP連接,該TCP連接的四元組是什么?雙方協(xié)商的起始序號(hào)是什么?TCP連接建立的過程中,第三次握手是否帶有數(shù)據(jù)?是否消耗了一個(gè)序號(hào)?</p><p>  四元組:源地址---172.16.1.234;目的地址---123.125.160.40;</p><p>  源端口---49382 目的端口---80</p><p>

29、  協(xié)商的起始序號(hào):0;</p><p>  第三次握手未攜帶數(shù)據(jù)。</p><p><b>  消耗一個(gè)序號(hào)。</b></p><p>  找到TCP連接的釋放過程,繪出TCP連接釋放的完整過程,注明每個(gè)TCP報(bào)文段的序號(hào)、確認(rèn)號(hào)、以及FIN\ACK的設(shè)置。</p><p><b>  TCP釋放過程: &l

30、t;/b></p><p>  A、服務(wù)器向本機(jī)請(qǐng)求釋放:</p><p>  B、本機(jī)響應(yīng)服務(wù)器的請(qǐng)求釋放:(半關(guān)閉)</p><p>  C、本機(jī)向服務(wù)器請(qǐng)求釋放連接:</p><p>  D、服務(wù)器響應(yīng)本機(jī)的請(qǐng)求釋放:</p><p>  TCP的釋放過程流程圖:</p><p> 

31、 :針對(duì)(6)中的TCP連接釋放,請(qǐng)問釋放請(qǐng)求由服務(wù)器還是客戶發(fā)起?FIN報(bào)文段是否攜帶數(shù)據(jù),是否消耗一個(gè)序號(hào)?FIN報(bào)文段的序號(hào)是什么?為什么是這個(gè)值?</p><p>  釋放請(qǐng)求由服務(wù)器發(fā)起。</p><p>  FIN報(bào)文段未攜帶數(shù)據(jù)。</p><p><b>  消耗了一個(gè)序號(hào):</b></p><p><

32、;b>  實(shí)現(xiàn)過程如下:</b></p><p>  FIN報(bào)文段的序號(hào)是436</p><p>  、在該TCP連接的數(shù)據(jù)傳輸過程中,找出每一個(gè)ACK報(bào)文段與相應(yīng)數(shù)據(jù)報(bào)文段的對(duì)應(yīng)關(guān)系,計(jì)算這些數(shù)據(jù)報(bào)文段的往返時(shí)延RTT(即RTT樣本值)。根據(jù)課本200頁(yè)5.6.2節(jié)內(nèi)容,給每一個(gè)數(shù)據(jù)報(bào)文段估算超時(shí)時(shí)間RTO。</p><p><b> 

33、 腳本</b></p><p>  #!/bin/bash</p><p>  #by sky version 1.0</p><p><b>  #20121207</b></p><p>  if [ $# -ne 1 ]</p><p><b>  then</b

34、></p><p>  echo "Usage: shellname filename"</p><p>  echo "Just like:rtt_count.sh http"</p><p><b>  exit 1</b></p><p><b>  f

35、i</b></p><p>  if [ ! -f $1 ]</p><p><b>  then</b></p><p>  echo "Please input an effective file"</p><p><b>  exit 2</b></p&g

36、t;<p><b>  fi</b></p><p>  grep RTT $1 |awk 'BEGIN{s1=0.125; s2=0.875; d1=0.25; d2=0.75} {RTT[NR]=$9; line_num=NR}</p><p><b>  END{</b></p><p>  f

37、or( i=1; i<=line_num; i++ )</p><p><b>  {</b></p><p>  RTTS[i]=s2*RTT[i-1]+s1*RTT[i];</p><p>  RTTD[i]=d2*RTTD[i-1]+d1*(RTTS[i]>RTT[i]?RTTS[i]-RTT[i]:RTT[i]-RTTS[

38、i]);</p><p>  printf("The number is %d\t\tRTTS->%0.8f\tRTTD->%0.8f\tRTTS->%0.8f\n",i,RTTS[i],RTTD[i],RTTS[i]+4*RTTD[i])</p><p><b>  }</b></p><p><b

39、>  }'</b></p><p>  (9)、分別找出一個(gè)HTTP請(qǐng)求和響應(yīng)分組,分析其報(bào)文格式。參照課本243頁(yè)圖6-12,在截圖中標(biāo)明各個(gè)字段。</p><p><b>  請(qǐng)求報(bào)文:</b></p><p><b>  響應(yīng)報(bào)文:</b></p><p>  10)

40、、訪問同一網(wǎng)站的不同網(wǎng)頁(yè),本次訪問中的TCP連接是否和上次訪問相同?(與上次頁(yè)面訪問時(shí)間間隔不能過長(zhǎng),可連續(xù)訪問,分別分析。)</p><p>  訪問同一網(wǎng)站的另一網(wǎng)頁(yè)</p><p>  本次訪問中的TCP連接是與上次訪問不相同</p><p>  (11)、請(qǐng)描述HTTP協(xié)議的持續(xù)連接的兩種工作方式。訪問這些頁(yè)面(同一網(wǎng)站的不同頁(yè)面)的過程中,采用了哪種方式?

41、(參考課本241頁(yè))</p><p>  http協(xié)議的持續(xù)連接的兩種工作方式:</p><p>  a.非流水線方式:客戶在收到前一個(gè)響應(yīng)后才能發(fā)出下一個(gè)請(qǐng)求,在TCP連接已建好后,客戶每次訪問一次對(duì)象都要用去一個(gè)往返時(shí)間RTT。</p><p>  b.流水線方式:客戶在收到HTTP的響應(yīng)報(bào)文之前就能夠接著發(fā)送新的請(qǐng)求報(bào)文,客戶訪問所有的對(duì)象只需花費(fèi)一個(gè)RTT時(shí)

42、間。</p><p>  訪問這些頁(yè)面過程中采用流水線方式</p><p><b>  設(shè)計(jì)技巧及體會(huì)</b></p><p>  通過本次課程設(shè)計(jì),我們加深對(duì)IP、DSN 、TCP、UDP、HTTP等協(xié)議的理解;</p><p>  并且通過用wireshark流量分析工具,進(jìn)行抓包、過濾、篩選等一系列操作獲取到有用的

43、數(shù)據(jù)進(jìn)行觀察、分析、處理。通過觀察和處理數(shù)據(jù),更加深刻的理解了tcp建立的三次握手、以及釋放的四次揮手過程以及更加明確的了解了tcp、udp、http等協(xié)議的工作原理,以及他們的作用。而且我們也學(xué)會(huì)了在Linux環(huán)境下用shell或perl腳本編程實(shí)現(xiàn)一些數(shù)據(jù)的統(tǒng)計(jì)與計(jì)算功能,提高了我們的Linux操作技能,豐富了我在Linux方面的知識(shí)。</p><p>  本次試驗(yàn)我遇到了很多問題,包括抓包過程由于出現(xiàn)中斷和

溫馨提示

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

評(píng)論

0/150

提交評(píng)論