五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

TCP 數(shù)據(jù)包及連接建立過程分析-計(jì)算機(jī)網(wǎng)絡(luò)

2022-08-03 15:57 作者:老師-忘記密碼  | 我要投稿

一、?實(shí)驗(yàn)?zāi)康?/span>

1.1??學(xué)習(xí)并分析 TCP 數(shù)據(jù)包的結(jié)構(gòu)、含義

1.2?分析 TCP 連接的建立過程和數(shù)據(jù)傳輸過程。

二、?實(shí)驗(yàn)環(huán)境

2.1 ?Wireshark 網(wǎng)絡(luò)分析軟件 ?

2.2 ?實(shí)驗(yàn)文件“計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn).cap”

三、?實(shí)驗(yàn)內(nèi)容

3.1 TCP 數(shù)據(jù)包的結(jié)構(gòu)和含義分析

打開文件“計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn).cap”,這是一個包括 204 個分組的網(wǎng)絡(luò)通信記錄,詳細(xì)記錄了分組的序號、相對時間、源地址、目標(biāo)地址、協(xié)議類型、內(nèi)容,如圖 1 是對第 29 個分組的詳細(xì)信息。

圖 1 第 29 個分組的 TCP 數(shù)據(jù)包的解析


觀察文件內(nèi)第 29 個分組的 TCP 數(shù)據(jù)包詳細(xì)信息,見圖 1。

l 它的前 16 位是 1668,表示源端口是 1668,是客戶端的一般端口,(本機(jī)是客戶端)

l 它的目的端口是 0050(H)=8080,表明是訪問服務(wù)器端的 HTTP 應(yīng)用。

l 當(dāng)前發(fā)送的數(shù)據(jù)首字節(jié)是 0(相對值),表示為首發(fā)字節(jié)。它攜帶的數(shù)據(jù)包長度是 0 字節(jié),64(IP 包全長,見 IP 包頭的長度字段值)-20(IP 首部長度)-44(TCP 首部長度)=0 字節(jié),該 TCP 數(shù)據(jù)包未攜帶數(shù)據(jù)。

l 確認(rèn)號字段為 0,結(jié)合后面的 ACK=0,表明未攜帶確認(rèn)信息。

l TCP 首部的固定長度部分是 20 字節(jié); b002(H)=1011 0000 0000 0010 (B),其中表示 TCP

首部長度長度.是前 4 位,即 1011(B)=11,以 4 個字節(jié)為 1 個單位,因此該 TCP 首部總長度是 11×4 字節(jié)=44 字節(jié),其中包含選項(xiàng)字段 24 字節(jié)。

l 同步比特 SYN=1,表明它是一個 TCP 連接相關(guān)的數(shù)據(jù)包

l 其它:ACK =0,確認(rèn)比特 ACK —— 只有當(dāng) ACK =1時確認(rèn)號字段才有效。當(dāng) ACK

=0 時,確認(rèn)號無效。

l 推送比特 PSH (PuSH) —— 接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個緩存都填滿了后再向上交付。

l 窗口字段大小 524280 字節(jié),當(dāng)前可以接收對方發(fā)送 524280 字節(jié)。

l 校驗(yàn)和=a4ff,正確。

l 緊急指針字段=0,因?yàn)榫o急 URG=0

l 頭部選項(xiàng)字段:給出了最大報(bào)文段長度 MMX=1460 字節(jié),注意 MAC 幀攜帶的數(shù)據(jù)范圍是 46-1500 字節(jié),1500-20(IP 頭長)-20(TCP 長)=1460。

觀察文件內(nèi)第 34 個分組的 TCP 數(shù)據(jù)包詳細(xì)信息,見圖 2。

圖 2 第 34 個分組的 TCP 數(shù)據(jù)包的解析


l 它的源端口是 0050(H)=80,是服務(wù)器端的 HTTP 應(yīng)用服務(wù)。

l 它的目的端口是 1668,是客戶端的一般端口號。

l 當(dāng)前發(fā)送的數(shù)據(jù)首字節(jié)是 1449(相對值)。它攜帶的數(shù)據(jù)包長度是 357 字節(jié),409(IP包全長,見 IP 包頭的長度字段值)-20(IP 首部長度)-32(TCP 首部長度)=357字節(jié),該 TCP 數(shù)據(jù)包攜帶 357 字節(jié)數(shù)據(jù),因此下一個 TCP 數(shù)據(jù)包攜帶數(shù)據(jù)的首字節(jié)是1449+357=1806。

l 確認(rèn)號字段為 875,結(jié)合后面的 ACK =1,表明已經(jīng)正確接收對方發(fā)送的 875 字節(jié)前的

數(shù)據(jù)。

l TCP 首部長度;8018(H)=1000 0000 0001 1000 (B),其中表示 TCP 首部長度長度是前

4 位,即 1000(B)=8,因此該 TCP 首部長度是 8×4 字節(jié)=32 字節(jié),包含選項(xiàng)字段 12

字節(jié)。

l 同步比特 SYN=0,表明它不是一個 TCP 連接相關(guān)的數(shù)據(jù)包

l 確認(rèn)比特 ACK=1 ,確認(rèn)號字段才有效。當(dāng) ACK =0 時,確認(rèn)號無效。

l 推送比特 PSH (PuSH)=1,接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個緩存都填滿了后再向上交付。

l 窗口字段大小 64661 字節(jié),當(dāng)前可以接收對方發(fā)送 64661 字節(jié)。

l 校驗(yàn)和=d169,正確。

l 緊急指針字段=0,因?yàn)榫o急 URG=0

l 頭部選項(xiàng)字段:給出了時間戳 Time stamp。

數(shù)據(jù)被分片,1805 字節(jié)的數(shù)據(jù)被分為第 33 個分組的 1448 字節(jié)和第 34 個分組的 357 字

節(jié).

4.2 TCP 連接的建立和釋放過程

選擇“flow graph” 觀察 TCP 連接的建立過程。

?

圖 3 選擇“flow graph” 觀察 TCP 連接的建立過程


?

圖 4 選擇“flow graph”參數(shù) 觀察 TCP 流


?

圖 5 TCP 流


客戶端進(jìn)程(IP 地址:219.222.170.14,端口 1668)與服務(wù)器端進(jìn)程(IP 地址:172.30.0.19端口 80)建立連接的 3 次握手過程,對應(yīng)的分別是第 29、30、31 數(shù)據(jù)分組。它們分別完成的是:

第 29 數(shù)據(jù)分組:客戶端 的 TCP(SYN=8a42cdc9,這是客戶端為了防范某些安全性攻擊而選擇的起始序號,相對序號是 1)向服務(wù)器端發(fā)出連接請求報(bào)文段;注意該分組的Option 字段內(nèi)容,給出了 MSS=1460 字節(jié),Sack Permitted 等協(xié)商內(nèi)容。該連接請求報(bào)文不攜帶數(shù)據(jù)(Len=0),但消耗一個序號。為了防止 TCP syn攻擊,該分組選擇的初始化序號是8a42cdc9,當(dāng)然相對序號是 1。

第 30 數(shù)據(jù)分組:服務(wù)器端 的 TCP 收到連接請求報(bào)文段后,同意,發(fā)回確認(rèn)(確認(rèn)報(bào)文段中將 SYN 置為 1,ACK=1);注意該分組的 Option 字段內(nèi)容,給出了 MSS=1460 字節(jié). 該連接請求確認(rèn)報(bào)文不攜帶數(shù)據(jù)(Len=0),但消耗一個序號。同時初始窗口值為 32768字節(jié)。為了防止 TCP syn 攻擊,該分組選擇的初始化序號是 27f5bf03,當(dāng)然相對序號是 1, 對29 數(shù)據(jù)分組的確認(rèn)是 8a42cdca(8a42cdc9+1).

第 31 數(shù)據(jù)分組:客戶端收到此報(bào)文段后,向服務(wù)器端 給出確認(rèn)(ACK=1)。連接建立完成。

客戶端進(jìn)程(IP 地址:219.222.170.14,端口 1669)與服務(wù)器端進(jìn)程(IP 地址:172.30.0.19端口 80)釋放連接的過程,對應(yīng)的分別是第 47、48、49、50 數(shù)據(jù)分組。它們分別完成的是:

第 47 數(shù)據(jù)分組:219.222.170.14 端 的 TCP(FIN 置為 1)向 172.30.0.19 端發(fā)出連接釋放請求報(bào)文段,該釋放請求報(bào)文未攜帶數(shù)據(jù)(Len=0),但消耗一個序號。

第 48 數(shù)據(jù)分組:服務(wù)器端的 TCP 收到連接釋放請求報(bào)文段后,發(fā)回確認(rèn)(確認(rèn)報(bào)文段中將 ACK 置為 1);窗口值為 64167 字節(jié);注意該分組的 Option 字段內(nèi)容,時間戳 Timestamp。

第 49 數(shù)據(jù)分組:172.30.0.19 端也不再需要發(fā)送數(shù)據(jù),發(fā)出連接釋放請求報(bào)文段(FIN置為 1),未攜帶數(shù)據(jù)(Len=0)。

第 50 數(shù)據(jù)分組:收到第 49 數(shù)據(jù)分組后,219.222.170.14 端發(fā)出確認(rèn)(ACK=1)。

至此,連接釋放的協(xié)商過程完畢,收到第 50 數(shù)據(jù)分組后,172.30.0.19 會釋放與219.222.170.14 端 1669 的連接;219.222.170.14 端在 2MSL 后,釋放連接。

?

四、?實(shí)驗(yàn)問題

問題一:什么是 TCP 協(xié)議?TCP 數(shù)據(jù)包的結(jié)構(gòu)和含義是怎樣的?

答:?

傳輸控制協(xié)議(TCP,Transmission?Control Protocol)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義。

TCP數(shù)據(jù)包結(jié)構(gòu):


1-1.源始端口16位,范圍是0-65535。

1-2.目的端口,同上。

2-1.數(shù)據(jù)序號32位,TCP為發(fā)送的每個字節(jié)都編一個號碼,這里存儲當(dāng)前數(shù)據(jù)包數(shù)據(jù)第一個字節(jié)的序號。

3-1.確認(rèn)序號32位,為了安全,TCP告訴接受者希望他下次接到數(shù)據(jù)包的第一個字節(jié)的序號。

4-1.偏移4位,類似IP,表明數(shù)據(jù)距包頭有多少個32位。

4-2.保留6位,未使用,應(yīng)置零。

4-3.緊急比特URG—當(dāng)URG=1時,表明緊急指針字段有效。它告訴系統(tǒng)此報(bào)文段中有緊急數(shù)據(jù),應(yīng)盡快傳送(相當(dāng)于高優(yōu)先級的數(shù)據(jù))。

4-3.確認(rèn)比特ACK—只有當(dāng)ACK=1時確認(rèn)號字段才有效。當(dāng)ACK=0時,確認(rèn)號無效。

4-4.復(fù)位比特RST(Reset) —當(dāng)RST=1時,表明TCP連接中出現(xiàn)嚴(yán)重差錯(如由于主機(jī)崩潰或其他原因),必須釋放連接,然后再重新建立運(yùn)輸連接。

4-5.同步比特SYN—同步比特SYN置為1,就表示這是一個連接請求或連接接受報(bào)文。

4-6.終止比特FIN(FINal)—用來釋放一個連接。當(dāng)FIN=1時,表明此報(bào)文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運(yùn)輸連接。

4-7.窗口字段16位,窗口字段用來控制對方發(fā)送的數(shù)據(jù)量,單位為字節(jié)。TCP連接的一端根據(jù)設(shè)置的緩存空間大小確定自己的接收窗口大小,然后通知對方以確定對方的發(fā)送窗口的上限。

5-1.包校驗(yàn)和16位,包括首部和數(shù)據(jù)這兩部分。在計(jì)算檢驗(yàn)和時,要在TCP報(bào)文段的前面加上12字節(jié)的偽首部。

5-2.緊急指針16位,緊急指針指出在本報(bào)文段中的緊急數(shù)據(jù)的最后一個字節(jié)的序號。

6-1.可選選項(xiàng)24位,類似IP,是可選選項(xiàng)。

6-2.填充8位,使選項(xiàng)湊足32位。

7-1.用戶數(shù)據(jù)

?

問題二: TCP 協(xié)議建立連接的過程是怎樣的?

答:

???????如圖:初始時候,客戶端和服務(wù)端都處于CLOSED(關(guān)閉)狀態(tài)。當(dāng)客戶端需要給服務(wù)端發(fā)送數(shù)據(jù)包的時候,客戶端主動打開連接。這個時候應(yīng)該是通知了服務(wù)端,讓服務(wù)端也打開連接,所以服務(wù)端是被動打開連接。打開連接之后,分別開始創(chuàng)建傳輸控制模塊TCB,接著服務(wù)端進(jìn)入LISTEN(監(jiān)聽)狀態(tài),等待客戶端的連接請求??蛻舳艘查_始準(zhǔn)備連接請求數(shù)據(jù)包,開始發(fā)送??蛻舳税l(fā)送的第一個數(shù)據(jù)包是一個連接請求報(bào)文段,這個報(bào)文的內(nèi)容如圖,是一個同步位SYN=1,另一個是一個初始序號seq=x。TCP規(guī)定,SYN=1的報(bào)文段不能攜帶數(shù)據(jù),但是消耗一個序列號??蛻舳税l(fā)送了這個報(bào)文之后,進(jìn)入SYN-SENT(同步已發(fā)送)狀態(tài)。

??????服務(wù)端己收到這個數(shù)據(jù)包之后,知道有客戶端請求連接。如果當(dāng)前有資源,可以同意連接,則給客戶端發(fā)送確認(rèn)報(bào)文。這個確認(rèn)報(bào)文的內(nèi)容有:SYN=1(沒有變化),seq=y(變成了服務(wù)端的序列號),新增ACK=1,ack=x+1(客戶端序列號+1)。這里SYN=1,所以報(bào)文不能攜帶數(shù)據(jù),同樣消耗了服務(wù)端的一個序列號。然后服務(wù)端進(jìn)入了SYN-RCVD(同步收到)狀態(tài)。

?????客戶端收到服務(wù)端的確認(rèn)報(bào)文之后,還需要給客戶端發(fā)送一個客戶端的確認(rèn)報(bào)文。這個報(bào)文的內(nèi)容是ACK=1,seq=x+1,ack=y+1。這里沒有了SYN這個字段,所以這個報(bào)文可以攜帶數(shù)據(jù)。這個客戶端確認(rèn)報(bào)文發(fā)送出去之后,客戶端進(jìn)入ESTABLISHED(已建立連接)狀態(tài)。

?????服務(wù)端接收到這個數(shù)據(jù)包之后,也進(jìn)入了ESTABLISHED(已建立連接)狀態(tài)。

?????上面的三個過程就是TCP建立連接的三次握手。

?

問題三:根據(jù)文件“計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn).cap”,參照實(shí)驗(yàn) 3.1 回答以下問題:

1.分析第 44 個分組 TCP 數(shù)據(jù)包的結(jié)構(gòu)和含義?

答:

l 它的源端口是 0685(H)=1669,是客戶端的一般端口號。

l 它的目的端口是 80,是服務(wù)器端的 HTTP 應(yīng)用服務(wù)。

l 當(dāng)前發(fā)送的數(shù)據(jù)首字節(jié)是 769(相對值)。它攜帶的數(shù)據(jù)包長度是 600字節(jié),652(IP包全長,見 IP 包頭的長度字段值)-20(IP 首部長度)-32(TCP 首部長度)=600字節(jié),該 TCP 數(shù)據(jù)包攜帶 600字節(jié)數(shù)據(jù),因此下一個 TCP 數(shù)據(jù)包攜帶數(shù)據(jù)的首字節(jié)是769+600=1369。

l 確認(rèn)號字段為 1,結(jié)合后面的 ACK =1,表明已經(jīng)正確接收對方發(fā)送的首字節(jié)的數(shù)據(jù)。

l TCP 首部長度:0800(H)=0000 1000 0000 0000(B),其中表示 TCP 首部長度長度是前4位,即 1000(B)=8,因此該 TCP 首部長度是 8×4 字節(jié)=32 字節(jié),包含選項(xiàng)字段12字節(jié)。

l 同步比特 SYN=0,表明它不是一個 TCP 連接相關(guān)的數(shù)據(jù)包。

l 確認(rèn)比特 ACK=1 ,確認(rèn)號字段才有效。當(dāng) ACK =0 時,確認(rèn)號無效。

l 推送比特 PSH (PuSH)=1,接收 TCP 收到推送比特置 1 的報(bào)文段,就盡快地交付給接收應(yīng)用進(jìn)程,而不再等到整個緩存都填滿了后再向上交付。

l 窗口字段大小 32850 字節(jié),當(dāng)前可以接收對方發(fā)送32850字節(jié)。

l 校驗(yàn)和=64f6,正確。

l 緊急指針字段=0,因?yàn)榫o急 URG=0

l 頭部選項(xiàng)字段:給出了時間戳 Time stamp。

數(shù)據(jù)被分片,1368 字節(jié)的數(shù)據(jù)被分為第 43 個分組的 768 字節(jié)和第 44 個分組的 600 字節(jié).

?

2.分析第 127 個分組 TCP 數(shù)據(jù)包的結(jié)構(gòu)和含義?

答:

l 它的源端口是 0050(H)=80,是服務(wù)器端的 HTTP 應(yīng)用服務(wù)。

l 它的目的端口是 1655,是客戶端的一般端口號。

l 當(dāng)前發(fā)送的數(shù)據(jù)首字節(jié)是 1(相對值)。它攜帶的數(shù)據(jù)包長度是 0 字節(jié),52(IP包全長,見 IP 包頭的長度字段值)-20(IP 首部長度)-32(TCP 首部長度)=0字節(jié),因此該 TCP 數(shù)據(jù)包未攜帶數(shù)據(jù)。

l 確認(rèn)號字段為 1,結(jié)合后面的 ACK=1,表明已經(jīng)正確接收對方發(fā)送的首字節(jié)的數(shù)據(jù)。

l TCP 首部長度8×4 字節(jié)=32 字節(jié),包含選項(xiàng)字段 12 字節(jié)。

l 同步比特 SYN=0,表明它不是一個 TCP 連接相關(guān)的數(shù)據(jù)包

l 確認(rèn)比特 ACK=1 ,確認(rèn)號字段才有效。當(dāng) ACK =0 時,確認(rèn)號無效。

l 推送比特 PSH (PuSH)=0,接收 TCP 等到整個緩存都填滿了后再向上交付。

l 窗口字段大小 64917 字節(jié),當(dāng)前可以接收對方發(fā)送 64917 字節(jié)。

l 校驗(yàn)和=3dda,未驗(yàn)證。

l 緊急指針字段=0,因?yàn)榫o急 URG=0

l 頭部選項(xiàng)字段:給出了時間戳 Time stamp,顯示重傳時間。

3.分析第 75 個分組 TCP 數(shù)據(jù)包的結(jié)構(gòu)和含義?

答:

l 它的源端口是 0050(H)=80,是服務(wù)器端的 HTTP 應(yīng)用服務(wù)。

l 它的目的端口是 1672,是客戶端的一般端口號。

l 當(dāng)前發(fā)送的數(shù)據(jù)首字節(jié)是 1(相對值)。它攜帶的數(shù)據(jù)包長度是 0 字節(jié),52(IP包全長,見 IP 包頭的長度字段值)-20(IP 首部長度)-32(TCP 首部長度)=0字節(jié),該 TCP 數(shù)據(jù)包攜帶 0 字節(jié)數(shù)據(jù),因此該 TCP 數(shù)據(jù)包未攜帶數(shù)據(jù)。 ?

l 確認(rèn)號字段為 619,結(jié)合后面的 ACK =1,表明已經(jīng)正確接收對方發(fā)送的 619 字節(jié)前的數(shù)據(jù)。

l TCP 首部長度: 8×4 字節(jié)=32 字節(jié),包含選項(xiàng)字段 12字節(jié)。

l 同步比特 SYN=0,表明它不是一個 TCP 連接相關(guān)的數(shù)據(jù)包

l 確認(rèn)比特 ACK=1 ,確認(rèn)號字段才有效。當(dāng) ACK =0 時,確認(rèn)號無效。

l 推送比特 PSH (PuSH)=0,接收 TCP 等到整個緩存都填滿了后再向上交付。

l 窗口字段大小 64917 字節(jié),當(dāng)前可以接收對方發(fā)送 64917 字節(jié)。

l 校驗(yàn)和=da9c,未驗(yàn)證。

l 緊急指針字段=0,因?yàn)榫o急 URG=0

l 頭部選項(xiàng)字段:給出了時間戳 Time stamp。 ?

?

問題四:根據(jù)文件“計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn).cap”,參照實(shí)驗(yàn) 3.2 回答以下問題:

1.?219.222.170.14 端進(jìn)程(端口 1672)與服務(wù)器端進(jìn)程(端口 80)建立連接的 3 次握手過

程?該服務(wù)器的 IP 地址是?

答:

客戶端進(jìn)程(IP 地址:219.222.170.14,端口 1672)與服務(wù)器端進(jìn)程(IP 地址:172.30.0.19

端口 80)建立連接的 3 次握手過程,對應(yīng)的分別是第 70、71、72?數(shù)據(jù)分組。它們分別完成的是:

70?數(shù)據(jù)分組:客戶端的TCP(SYN=68f7ed0c,這是客戶端為了防范某些安全性攻擊而選擇的起始序號,相對序號是 1)向服務(wù)器端發(fā)出連接請求報(bào)文段;注意該分組的Option 字段內(nèi)容,給出了 MSS=1460 字節(jié),Sack Permitted 等協(xié)商內(nèi)容。該連接請求報(bào)文不攜帶數(shù)據(jù)(Len=0),但消耗一個序號。為了防止 TCP syn 攻擊,該分組選擇的初始化序號是 68f7ed0c,當(dāng)然相對序號是 1。

71?數(shù)據(jù)分組:服務(wù)器端 的 TCP 收到連接請求報(bào)文段后,同意,發(fā)回確認(rèn)(確認(rèn)報(bào)文段中將 SYN 置為 1,ACK=1);注意該分組的 Option 字段內(nèi)容,給出了 MSS=1460 字節(jié). 該連接請求確認(rèn)報(bào)文不攜帶數(shù)據(jù)(Len=0),但消耗一個序號。同時初始窗口值為 32768字節(jié)。為了防止 TCP syn 攻擊,該分組選擇的初始化序號是 36b4fc4e,當(dāng)然相對序號是 1, 對29 數(shù)據(jù)分組的確認(rèn)是 68f7ed0d68f7ed0c+1).

72?數(shù)據(jù)分組:客戶端收到此報(bào)文段后,向服務(wù)器端給出確認(rèn)(ACK=1)。連接建立完成。

該服務(wù)器的 IP 地址是172.30.0.19。


TCP 數(shù)據(jù)包及連接建立過程分析-計(jì)算機(jī)網(wǎng)絡(luò)的評論 (共 條)

分享到微博請遵守國家法律
双牌县| 伊春市| 玛沁县| 五家渠市| 观塘区| 隆昌县| 四川省| 张掖市| 寿宁县| 顺平县| 阿克陶县| 天等县| 奉新县| 交口县| 仲巴县| 宜都市| 垣曲县| 广汉市| 肇东市| 织金县| 西吉县| 新余市| 中卫市| 襄垣县| 利川市| 奎屯市| 黎川县| 沽源县| 德兴市| 南平市| 香格里拉县| 崇义县| 鹤壁市| 远安县| 百色市| 韩城市| 昌平区| 新巴尔虎右旗| 奉节县| 洛扎县| 葵青区|