使用Wireshark抓包三次握手四次挥手

一、 三次握手

在这里插入图片描述

1. 第一次握手

使用Wireshark抓包三次握手四次挥手_第1张图片使用Wireshark抓包三次握手四次挥手_第2张图片
源端口Src port:65387 目标端口 Dst port:443
SYN=1,标志位置为1,表示建立连接,连接成功后将会再次被置0
Seq:0 随机序列号
ack:0 初始建立连接为0,表示当前没有收到数据

客户端通过TCP协议向服务器发送连接请求报文,其首部中的SYN被置1

2. 第二次握手

使用Wireshark抓包三次握手四次挥手_第3张图片使用Wireshark抓包三次握手四次挥手_第4张图片
SYN:1 表示请求建立连接
Seq:0 序列号
ack:1 随机序列号+1

服务器收到请求报文段,标志位ACK=1,表示同意,发回确认。

3.第三次握手

使用Wireshark抓包三次握手四次挥手_第5张图片使用Wireshark抓包三次握手四次挥手_第6张图片

标志位ACK,表示已经收到记录
Seq:1
ack:1 随机序列号+1
客户端收到报文段后,向服务器给出确认,通知上层应用连接已建立。

三次握手情景:客户端发送消息,表示我可以给你发送数据吗?
服务器收到消息表示:可以,但我可能也要向你发送数据。
客户端收到消息表示:好,开始传送数据吧。

二、 四次挥手

在这里插入图片描述

由于TCP连接是全双工的,每个方向都要单独关闭。

1. 第一次挥手

使用Wireshark抓包三次握手四次挥手_第7张图片使用Wireshark抓包三次握手四次挥手_第8张图片
序列号seq:9521
确认号ack:645009,
Fin:1 表示我是一个请求释放连接的报文
ACK和FIN被标记,ACK被标记也是对上一个报文数据的确认

数据传输后,通信的双方都可以释放连接,客户端向服务端发送释放连接请求,并停止再发送数据,等待对方确认。

2. 第二次挥手

使用Wireshark抓包三次握手四次挥手_第9张图片
使用Wireshark抓包三次握手四次挥手_第10张图片
ACK被标记,表示这是一个确认报文
序列号 seq:645009
确认号 ack:9522 序列号+1

服务端收到释放连接信息,然后发送确认收到报文。

3.第三次挥手

使用Wireshark抓包三次握手四次挥手_第11张图片
使用Wireshark抓包三次握手四次挥手_第12张图片
序列号 seq:645009
确认号 ack:9522
fin和ack被标记,服务器表示我也要释放连接了

服务端向客户端发送fin报文,表示释放连接,用来关闭服务端向客户端的数据传送。

4. 第四次挥手

使用Wireshark抓包三次握手四次挥手_第13张图片
使用Wireshark抓包三次握手四次挥手_第14张图片
客户端发送确认报文,表示已经收到服务端释放连接的请求
序列号 seq:9522
确认号 ack:645010 序列号+1
只有ack被标记,表示这是确认请求。

客户端收到服务端请求释放连接报文,发送确认收到信息,完成四次挥手。

四次挥手情景:客户端表示,我没有要传送的数据了,断开连接吧。
服务端说:“好,但我还有要传送的数据(不断给客户端发送数据,此时客户端已经不能向服务端发送数据了,只能接受服务端发送给客户端的数据)”
服务端发送完数据后说:“我发完了,断开连接吧”
客户端收到消息表示:好,断开连接。

你可能感兴趣的:(计算机网络,tcp/ip,wireshark)