版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 網(wǎng)絡協(xié)議分析與仿真</b></p><p><b> 課程設(shè)計報告書</b></p><p> 網(wǎng)絡協(xié)議分析與仿真課程設(shè)計報告</p><p><b> 網(wǎng)絡流量分析</b></p><p> 一、
2、60;課程設(shè)計目的</p><p> 加深對IP、DSN 、TCP、UDP、HTTP等協(xié)議的理解;</p><p> 掌握流量分析工具的使用,學習基本的流量分析方法。</p><p> 二、 課程設(shè)計內(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> 清除本機DNS緩存,訪問某一網(wǎng)站主頁,捕獲訪問過程中的所有分組,分析并回答下列問題(以下除1、3、8
4、、11外,要求配合截圖回答):</p><p> 簡述訪問web頁面的過程。</p><p> 找出DNS解析請求、應答相關(guān)分組,傳輸層使用了何種協(xié)議,端口號是多少?所請求域名的IP地址是什么?</p><p> 統(tǒng)計訪問該頁面共有多少請求IP分組,多少響應IP分組?(提示:用腳本編程實現(xiàn))</p><p> 找到TCP連接建立的三次
5、握手過程,并結(jié)合數(shù)據(jù),繪出TCP連接建立的完整過程,注明每個TCP報文段的序號、確認號、以及SYN\ACK的設(shè)置。</p><p> 針對(4)中的TCP連接,該TCP連接的四元組是什么?雙方協(xié)商的起始序號是什么?TCP連接建立的過程中,第三次握手是否帶有數(shù)據(jù)?是否消耗了一個序號?</p><p> 找到TCP連接的釋放過程,繪出TCP連接釋放的完整過程,注明每個TCP報文段的序號、確
6、認號、以及FIN\ACK的設(shè)置。</p><p> 針對(6)中的TCP連接釋放,請問釋放請求由服務器還是客戶發(fā)起?FIN報文段是否攜帶數(shù)據(jù),是否消耗一個序號?FIN報文段的序號是什么?為什么是這個值?</p><p> 在該TCP連接的數(shù)據(jù)傳輸過程中,找出每一個ACK報文段與相應數(shù)據(jù)報文段的對應關(guān)系,計算這些數(shù)據(jù)報文段的往返時延RTT(即RTT樣本值)。根據(jù)課本200頁5.6.2節(jié)內(nèi)
7、容,給每一個數(shù)據(jù)報文段估算超時時間RTO。(提示:用腳本編程實現(xiàn))</p><p> 分別找出一個HTTP請求和響應分組,分析其報文格式。參照課本243頁圖6-12,在截圖中標明各個字段。</p><p> 訪問同一網(wǎng)站的不同網(wǎng)頁,本次訪問中的TCP連接是否和上次訪問相同?(與上次頁面訪問時間間隔不能過長,可連續(xù)訪問,分別分析。)</p><p> 請描述HT
8、TP協(xié)議的持續(xù)連接的兩種工作方式。訪問這些頁面(同一網(wǎng)站的不同頁面)的過程中,采用了哪種方式?(參考課本241頁)</p><p><b> 設(shè)計與實現(xiàn)過程</b></p><p> 簡述訪問web頁面的過程。</p><p> 1)解析Web頁面的URL,得到Web服務器的域名2)通過DNS服務器獲得Web服務器的IP地址</p
9、><p> 3)與Web服務器建立TCP連接</p><p> 4)與Web服務器建立HTTP連接5)從Web服務器獲得URL指定的文檔6)瀏覽器解釋頁面文檔,并顯示在屏幕</p><p> (2)、找出DNS解析請求、應答相關(guān)分組,傳輸層使用了何種協(xié)議,端口號是多少?所請求域名的IP地址是什么?</p><p> DNS解析請求,應
10、答分組:</p><p> 請求:(本機端口:59257;DNS服務器端口:53)</p><p> 應答:(DNS服務器端口:53;本機端口:59257)</p><p> 傳輸層協(xié)議:udp協(xié)議。</p><p> 所請求域名ip是:123.125.160.40</p><p> (3)、統(tǒng)計訪問該頁面共
11、有多少請求IP分組,多少響應IP分組?(提示:用腳本編程實現(xiàn))</p><p><b> 請求分組:</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連接建立的完整過程,注明每個TCP報文段的序號、確認號、以及SYN\ACK的設(shè)置。</p><p> 與tcp建立連接的三次握手的分組:</p><p><b> TCP三次握手過程</b></p><p> 第一次握手:建立連
26、接時,客戶端發(fā)送syn包(syn=j)到服務器,并進入SYN_SEND狀態(tài),等待服務器確認; 第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態(tài); 第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發(fā)送確認包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務器進入ESTABLISHED狀態(tài),完
27、成三次握手。</p><p><b> 實現(xiàn)過程如下:</b></p><p> 第一次:(序號:0, SYN:1)</p><p> 第二次:(序號:0, 確認號:1,SYN:1,ACK:1)</p><p> 第三次:(序號:1, 確認號:1,SYN:0,ACK:1)</p><p>
28、 (5)針對(4)中的TCP連接,該TCP連接的四元組是什么?雙方協(xié)商的起始序號是什么?TCP連接建立的過程中,第三次握手是否帶有數(shù)據(jù)?是否消耗了一個序號?</p><p> 四元組:源地址---172.16.1.234;目的地址---123.125.160.40;</p><p> 源端口---49382 目的端口---80</p><p>
29、 協(xié)商的起始序號:0;</p><p> 第三次握手未攜帶數(shù)據(jù)。</p><p><b> 消耗一個序號。</b></p><p> 找到TCP連接的釋放過程,繪出TCP連接釋放的完整過程,注明每個TCP報文段的序號、確認號、以及FIN\ACK的設(shè)置。</p><p><b> TCP釋放過程: &l
30、t;/b></p><p> A、服務器向本機請求釋放:</p><p> B、本機響應服務器的請求釋放:(半關(guān)閉)</p><p> C、本機向服務器請求釋放連接:</p><p> D、服務器響應本機的請求釋放:</p><p> TCP的釋放過程流程圖:</p><p>
31、 :針對(6)中的TCP連接釋放,請問釋放請求由服務器還是客戶發(fā)起?FIN報文段是否攜帶數(shù)據(jù),是否消耗一個序號?FIN報文段的序號是什么?為什么是這個值?</p><p> 釋放請求由服務器發(fā)起。</p><p> FIN報文段未攜帶數(shù)據(jù)。</p><p><b> 消耗了一個序號:</b></p><p><
32、;b> 實現(xiàn)過程如下:</b></p><p> FIN報文段的序號是436</p><p> 、在該TCP連接的數(shù)據(jù)傳輸過程中,找出每一個ACK報文段與相應數(shù)據(jù)報文段的對應關(guān)系,計算這些數(shù)據(jù)報文段的往返時延RTT(即RTT樣本值)。根據(jù)課本200頁5.6.2節(jié)內(nèi)容,給每一個數(shù)據(jù)報文段估算超時時間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)、分別找出一個HTTP請求和響應分組,分析其報文格式。參照課本243頁圖6-12,在截圖中標明各個字段。</p><p><b> 請求報文:</b></p><p><b> 響應報文:</b></p><p> 10)
40、、訪問同一網(wǎng)站的不同網(wǎng)頁,本次訪問中的TCP連接是否和上次訪問相同?(與上次頁面訪問時間間隔不能過長,可連續(xù)訪問,分別分析。)</p><p> 訪問同一網(wǎng)站的另一網(wǎng)頁</p><p> 本次訪問中的TCP連接是與上次訪問不相同</p><p> (11)、請描述HTTP協(xié)議的持續(xù)連接的兩種工作方式。訪問這些頁面(同一網(wǎng)站的不同頁面)的過程中,采用了哪種方式?
41、(參考課本241頁)</p><p> http協(xié)議的持續(xù)連接的兩種工作方式:</p><p> a.非流水線方式:客戶在收到前一個響應后才能發(fā)出下一個請求,在TCP連接已建好后,客戶每次訪問一次對象都要用去一個往返時間RTT。</p><p> b.流水線方式:客戶在收到HTTP的響應報文之前就能夠接著發(fā)送新的請求報文,客戶訪問所有的對象只需花費一個RTT時
42、間。</p><p> 訪問這些頁面過程中采用流水線方式</p><p><b> 設(shè)計技巧及體會</b></p><p> 通過本次課程設(shè)計,我們加深對IP、DSN 、TCP、UDP、HTTP等協(xié)議的理解;</p><p> 并且通過用wireshark流量分析工具,進行抓包、過濾、篩選等一系列操作獲取到有用的
43、數(shù)據(jù)進行觀察、分析、處理。通過觀察和處理數(shù)據(jù),更加深刻的理解了tcp建立的三次握手、以及釋放的四次揮手過程以及更加明確的了解了tcp、udp、http等協(xié)議的工作原理,以及他們的作用。而且我們也學會了在Linux環(huán)境下用shell或perl腳本編程實現(xiàn)一些數(shù)據(jù)的統(tǒng)計與計算功能,提高了我們的Linux操作技能,豐富了我在Linux方面的知識。</p><p> 本次試驗我遇到了很多問題,包括抓包過程由于出現(xiàn)中斷和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡協(xié)議分析與仿真課程設(shè)計報告
- 信號與通信仿真設(shè)計報告書(信號與通信仿真課程設(shè)計)
- 數(shù)值分析課程設(shè)計報告書
- 課程設(shè)計報告書
- 課程設(shè)計報告書
- 醫(yī)院住院病人“呼喊”器設(shè)計與仿真-課程設(shè)計報告書
- 網(wǎng)絡構(gòu)建與協(xié)議分析課程設(shè)計
- 高頻課程設(shè)計報告書
- 空調(diào)課程設(shè)計報告書
- fpga課程設(shè)計報告書
- 洪水調(diào)節(jié)課程設(shè)計報告書
- 區(qū)段站課程設(shè)計報告書
- 網(wǎng)絡協(xié)議實踐教程課程設(shè)計--網(wǎng)絡拓撲構(gòu)建與協(xié)議分析
- 計算機網(wǎng)絡課程設(shè)計報告書
- 人才招聘系統(tǒng)分析與設(shè)計課程設(shè)計報告書
- 計算機網(wǎng)絡課程設(shè)計報告--- csmacd協(xié)議仿真
- tcp課程設(shè)計--網(wǎng)絡拓撲構(gòu)建與協(xié)議分析
- 運籌學課程設(shè)計報告書
- 巖土工程課程設(shè)計報告書
- 信息論課程設(shè)計報告書
評論
0/150
提交評論