用wireshark抓包分析TCP的三次握手与四次挥手
用wireshark抓包分析TCP的三次握手与四次挥手实验目的:理解TCP协议的三次握手与四次挥手原理实验环境:一台物理机(win10系统)与一台虚拟机(CentOS7系统)Wireshark抓包软件SecureCRT实验场景:物理机(win10系统)IP地址:192.168.192.1/24虚拟机(CentOS7系统)ip地址:192.168.192.5/24虚拟机绑定了物理机的vmnet1网卡
实验环境:
- 一台物理机(win10系统)与一台虚拟机(CentOS7系统)
- Wireshark抓包软件
- 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(表示这是确认请求)
更多推荐
所有评论(0)