用wireshark抓包分析TCP的三次握手与四次挥手

实验环境:

  1. 一台物理机(win10系统)与一台虚拟机(CentOS7系统)
  2. Wireshark抓包软件
  3. SecureCRT

实验场景:
物理机(win10系统)IP地址:192.168.192.1/24
虚拟机(CentOS7系统)ip地址:192.168.192.5/24
虚拟机绑定了物理机的vmnet1网卡,设置为仅主机模式

实验步骤:
开启wireshark软件,首先进行基本设置,筛选出TCP协议,如下图所示:
在这里插入图片描述
在这里插入图片描述

打开SecureCRT,连接到虚拟机(192.168.192.5)
在这里插入图片描述
在这里插入图片描述

三次握手:
因为建立了连接,所以wireshark抓到数据包了
在这里插入图片描述
在这里插入图片描述① 当客户端向服务器发送请求连接的报文时:
Seq序列号=x(这时客户端的序列号为0)
SYN=1(表示发送连接请求)

在这里插入图片描述② 服务器端收到客户端发来的请求报文后,同意建立连接,则向客户端发送确认报文:
Seq序列号=y(这时服务器也会产生一个序列号y)
Ack确认号=1(Seq序列号x+1,表示确认收到了客户端的请求)
ACK=1(表示这是条确认请求)
SYN=1(同时也发送一个建立连接的请求)

在这里插入图片描述③ 客户端进程收到服务端进程的确认后,还要向服务端给出确认,然后连接成功建立:
Seq序列号=x+1(这时客户端的序号为1)
Ack确认号=y+1(表示确认收到了服务器的连接请求)
ACK=1(表示这是确认报文)

四次挥手:(这时我们将服务器也就是虚拟机关机,使得服务器主动要求断开连接,这时服务器和客户端身份对调)
在这里插入图片描述
在这里插入图片描述① 客户端进程发出连接释放报文,并停止发送数据:
Seq序列号=x(客户端序列号)
Ack确认号=673(产生一个初始确认号)
ACK=1(表示发出确认报文)
FIN=1(表示请求断开连接)

在这里插入图片描述② 服务器收到连接释放报文,发出确认报文:
Seq序列号=y(这时服务器的序列号)
Ack确认号=x+1(这时确认号为x+1=674,确认收到客户端的请求)
ACK=1(表示这是确认请求)

在这里插入图片描述③ 服务器将最后的数据发送完毕后,就向客户端发送连接释放报文:
Seq序列号=z(服务器更新序列号为673)
Ack确认号=674(这时还是x+1=674)
ACK=1(表示这是确认请求)
FIN=1(表示请求断开连接)

在这里插入图片描述④ 客户端收到服务器的连接释放报文后,必须发出确认才能成功断开连接:
Seq序列号=x+1(这时客户端序列号需要+1=674)
Ack确认号=z+1(服务器的序列号+1=674,确认收到服务器的请求)
ACK=1(表示这是确认请求)

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TCP三次握手和四次挥手TCP协议建立和关闭连接时所采用的步骤。 三次握手是在客户端和服务器之间建立TCP连接时的过程。首先,客户端向服务器发送一个请求连接的数据包,该数据包包含一个随机生成的序列号(SYN),表示客户端希望建立连接。服务器接收到该请求后,向客户端回复一个确认连接的数据包,该数据包包含其自己生成的一个随机序列号(SYN-ACK),表示服务器同意建立连接。最后,客户端再次向服务器发送一个确认连接的数据包,该数据包中包含服务器的序列号加一(ACK),表示客户端接受服务器的连接请求。这样,TCP连接就建立起来了。 四次挥手是在客户端和服务器关闭TCP连接时的过程。首先,客户端发送一个关闭连接的请求数据包(FIN),表示客户端想要关闭连接。服务器收到该请求后,向客户端回复一个确认关闭连接的数据包(ACK),但自己的数据可能没有发送完毕。服务器等到自己的数据发送完毕后,发送一个自己的关闭连接请求数据包(FIN),表示服务器也希望关闭连接。客户端收到服务器的请求后,回复一个确认关闭连接的数据包(ACK),然后等待一段时间,确保服务器收到了该数据包。最后,客户端和服务器都关闭连接,四次挥手过程完成。 通过Wireshark抓包分析TCP三次握手和四次挥手可以观察到每个数据包的源地址、目标地址、序列号、确认号等信息。可以通过Wireshark的过滤功能筛选出TCP协议相关的数据包进行分析。通过分析数据包的交互过程,可以确认连接建立和关闭的状态是否符合预期,并可以进一步分析网络延迟、丢包等问题。 综上所述,Wireshark抓包分析TCP三次握手和四次挥手可以帮助我们深入理解TCP连接的建立和关闭过程,以及发现网络故障的根源。 ### 回答2: TCP是一种常用的传输层协议,它通过进行三次握手来建立连接,并进行四次挥手来终止连接。 三次握手的过程如下: 1. 客户端发送一个SYN标志位的TCP报文段给服务器,表示请求建立连接; 2. 服务器收到请求后,回复一个带有SYN和ACK标志位的TCP报文段给客户端,表示同意建立连接; 3. 客户端收到服务器的回复后,再次发送一个带有ACK标志位的TCP报文段给服务器,表示连接建立成功。 四次挥手的过程如下: 1. 客户端发送一个FIN标志位的TCP报文段给服务器,表示希望断开连接; 2. 服务器收到请求后,回复一个带有ACK标志位的TCP报文段给客户端,表示确认收到断开请求; 3. 服务器完成数据的发送后,发送一个带有FIN标志位的TCP报文段给客户端,表示自己也要断开连接; 4. 客户端收到服务器的断开请求后,发送一个带有ACK标志位的TCP报文段给服务器,表示确认断开,并进入TIME_WAIT状态。 在三次握手的过程中,第一次握手是客户端发起的,第二次握手是服务器回复同意建立连接,第三次握手是客户端回复确认连接。这个过程是为了确保双方都同意建立连接,以保证数据传输的可靠性。 在四次挥手的过程中,首先客户端发送断开请求,服务器回复确认,然后服务器发送断开请求,客户端回复确认。这个过程是为了保证双方都断开连接,并确保数据完整性。 Wireshark是一款网络抓包分析工具。使用Wireshark可以捕获网络数据包,并对数据包进行解析和分析。通过Wireshark,我们可以看到每个TCP报文段的具体内容,并对三次握手和四次挥手的过程进行详细分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值