偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Wireshark抓包分析TCP協(xié)議:三次握手和四次揮手

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
Wireshark抓包分析TCP協(xié)議 為了更好的學(xué)習(xí)和理解TCP協(xié)議的連接和斷開(kāi)連接的過(guò)程,我們來(lái)引入一個(gè)非常適合用來(lái)學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的抓包工具Wireshark。這個(gè)抓包工具可以詳細(xì)看到每一層網(wǎng)絡(luò)報(bào)文的詳細(xì)信息。

前言

面試中我們經(jīng)常會(huì)被問(wèn)到TCP協(xié)議的三次握手和四次揮手的過(guò)程,為什么總喜歡問(wèn)這個(gè)問(wèn)題呢?

其實(shí)我們平時(shí)使用的很多協(xié)議都是應(yīng)用層協(xié)議,比如HTTP協(xié)議,https協(xié)議,DNS協(xié)議,F(xiàn)TP協(xié)議等;而應(yīng)用層協(xié)議都是要基于傳輸層的兩個(gè)協(xié)議之上的,也就是TCP協(xié)議和UDP協(xié)議。我們?cè)谑褂脩?yīng)用層協(xié)議遇到一些問(wèn)題需要去分析定位的時(shí)候,會(huì)需要涉及到底層協(xié)議的連接問(wèn)題上。所以,作為測(cè)試掌握這兩個(gè)底層協(xié)議的工作原理是非常有必要的!

UDP協(xié)議作為一個(gè)不可靠的傳輸層協(xié)議,工作過(guò)程相對(duì)比較簡(jiǎn)單!所以我們就重點(diǎn)來(lái)大家講一下TCP協(xié)議。

Wireshark抓包分析TCP協(xié)議 為了更好的學(xué)習(xí)和理解TCP協(xié)議的連接和斷開(kāi)連接的過(guò)程,我們來(lái)引入一個(gè)非常適合用來(lái)學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的抓包工具Wireshark。這個(gè)抓包工具可以詳細(xì)看到每一層網(wǎng)絡(luò)報(bào)文的詳細(xì)信息。

TCP協(xié)議的三次握手過(guò)程 TCP建立連接需要經(jīng)歷三次握手,具體過(guò)程如下:


那么,這個(gè)過(guò)程我們配合抓包工具來(lái)看看具體的案例;如下圖是訪問(wèn)某個(gè)HTTP請(qǐng)求用wireshark抓到的報(bào)文,前面的三個(gè)報(bào)文就是TCP的三次握手過(guò)程:SYN包,SYN ACK包,ACK報(bào)文。


展開(kāi)看詳情:

第一次握手的報(bào)文如下:這是客戶端發(fā)起給服務(wù)器的報(bào)文,用于請(qǐng)求建立連接。


可以看到TCP報(bào)文里有一個(gè)Flags位:

當(dāng)Syn位標(biāo)記為1的時(shí)候,表示這個(gè)報(bào)文是一個(gè)請(qǐng)求鏈接的報(bào)文;

自己的序號(hào)(sequence number):0

第二次握手的報(bào)文如下:這是服務(wù)器回復(fù)給客戶端的報(bào)文,用于確認(rèn)并同意連接請(qǐng)求。

可以看到TCP報(bào)文里的Flags位:

Syn位也標(biāo)記為1,表示這個(gè)報(bào)文是一個(gè)同意建立鏈接的報(bào)文;

ACK位也標(biāo)記為1,表示是一個(gè)對(duì)上一個(gè)報(bào)文的確認(rèn)報(bào)文;

Sequence number:自己的序號(hào);

acknowledgment number:表示對(duì)上一個(gè)請(qǐng)求報(bào)文的確認(rèn)號(hào),所以是在上一個(gè)報(bào)文的序號(hào)+1

第三次握手:是客戶端發(fā)給服務(wù)器的,是對(duì)上一個(gè)同意連接請(qǐng)求的確認(rèn)。


Flags里的ACK位標(biāo)記為1,表示是一個(gè)對(duì)上一個(gè)報(bào)文的確認(rèn)報(bào)文;

Sequence number:自己的序號(hào),在上一個(gè)報(bào)文的基礎(chǔ)上+1;

acknowledgment number:表示對(duì)上一個(gè)請(qǐng)求報(bào)文的確認(rèn)號(hào),在上一個(gè)報(bào)文序號(hào)的基礎(chǔ)上+1.

至此,三次握手完成!接下來(lái)就開(kāi)始發(fā)送HTTP的請(qǐng)求了。


TCP協(xié)議的四次揮手過(guò)程

當(dāng)數(shù)據(jù)傳輸結(jié)束了,客戶端和服務(wù)器之間就開(kāi)始斷開(kāi)連接了。斷開(kāi)連接需要經(jīng)歷四次揮手,具體過(guò)程如下:


同樣,我們用wireshark工具來(lái)進(jìn)行詳細(xì)過(guò)程的報(bào)文的分析:


我們同樣展開(kāi)看下詳細(xì)的報(bào)文內(nèi)容:

第一次揮手:當(dāng)數(shù)據(jù)傳輸首先結(jié)束的端(比如客戶端),會(huì)率先發(fā)起結(jié)束斷開(kāi)連接的請(qǐng)求:


Flags位的 Fin位標(biāo)記為1,說(shuō)明這是個(gè)一個(gè)斷開(kāi)連接的請(qǐng)求的報(bào)文。

這時(shí)候我們發(fā)送這個(gè)請(qǐng)求的端已經(jīng)停止發(fā)送數(shù)據(jù)了!但是還可以接受數(shù)據(jù)。

第二次揮手:對(duì)上一個(gè)斷開(kāi)連接請(qǐng)求的報(bào)文進(jìn)行確認(rèn)。并同時(shí),停止接受數(shù)據(jù)。

所以,我們能看到這個(gè)報(bào)文的ACK位標(biāo)記為1,并且acknowledgment number是對(duì)上一個(gè)報(bào)文的序號(hào)+1,表示對(duì)上一個(gè)報(bào)文的確認(rèn)。

第三次揮手:服務(wù)器端也結(jié)束數(shù)據(jù)發(fā)送了,所以也會(huì)發(fā)起一個(gè)斷開(kāi)連接的請(qǐng)求。

這是個(gè)服務(wù)器發(fā)起FIN報(bào)文,請(qǐng)求斷開(kāi)連接,同時(shí),服務(wù)器也會(huì)停止發(fā)送數(shù)據(jù)。

第四次揮手:是客戶端對(duì)服務(wù)器斷開(kāi)連接請(qǐng)求的進(jìn)行確認(rèn)。

所以這個(gè)flags位是ACK位標(biāo)記為1。此時(shí),客戶端也停止接受數(shù)據(jù)了。

至此,服務(wù)器和客戶端都停止發(fā)送和接受數(shù)據(jù)了!四次揮手就完成了。

責(zé)任編輯:武曉燕 來(lái)源: 51CTO博客
相關(guān)推薦

2015-10-13 09:42:52

TCP網(wǎng)絡(luò)協(xié)議

2017-09-25 21:27:07

TCP協(xié)議數(shù)據(jù)鏈

2023-10-24 15:22:09

TCPUDP

2019-06-12 11:26:37

TCP三次握手四次揮手

2021-01-29 06:11:08

TCP通信三次握手

2021-05-18 12:27:40

TCP控制協(xié)議

2024-01-12 08:23:11

TCPACK服務(wù)器

2021-07-03 17:47:25

TCP控制協(xié)議

2015-11-09 09:58:56

2019-02-01 09:38:16

2021-05-28 09:08:20

TCP連接序列號(hào)

2020-06-29 14:50:47

TCP狀態(tài)ACK

2020-02-17 10:10:43

TCP三次握手四次揮手

2023-10-28 09:07:57

TCP面試三次握手

2014-09-19 09:46:46

TCPIP

2025-05-20 08:38:03

2022-11-17 10:20:49

TCP三次握手四次揮手

2023-10-17 15:44:19

TCP四次揮手

2020-01-09 09:31:05

三次握手四次揮手 TCP

2020-12-18 09:21:59

Wireshark網(wǎng)絡(luò)通信原理分析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)