Wireshark捕获分析TCP数据包三次握手

1、操作步骤

(1)打开wireshark,开始捕获界面

(2)打开一个网址(如:csdn)

(3)对捕获的数据包进行分析

第一个包的作用是第一握手,发送连接请求;第二个包的作用是第二次握手,连接接受;第三个包的作用是第三次握手,对连接接受的确认。

2、分析三次握手过程

(1)第一次握手

  客户端发送一个 TCP,标志位为 SYN,序列号为0,表示:客户端请求建立连接。

(2)第二次握手

  序号说明的是自己发送的数据的编号。 由于确认包是服务器发给客户端的一个数据包,对服务器来讲,这是它的第一个数据包,因此序号 seq=0。确认号是告诉对方,下一个应该发送的数据字节的编号。由于对方(客户端)上一次(第二次握手) 发来 seq 的序号字段是0,下一个应该发送的就应该是0+1=1,因此服务器发回的确认包中的确认号是1(ACK=0+1=1)。

(3) 第三次握手

  客户端再次发送确认包(ACK) SYN 标志位为0,ACK 标志位为 ACK 有效.序号说明的是自己发送的数据的编号。由于客户端第一次握手的数据字段已成功发送1个字节,因此数据字段序号 seq 从0变为1。确认号是告诉对方,下一个应该发送的数据字节的编号。由于对方(服务器)上一次(第二次握手) 发来 seq 的序号字段是0,下一个应该发送的就应该是0+1=1,放在确定字段中发
送给对方(ACK=0+1=1)。

另外要注意TCP 不可以使用两次握手建立连接。因为两次握手无法处理下面出现的情况:一个已失效的连接请求在超时后到达接收端,接收端收到请求,自然会接受请求,于是等待对方发送数据,可实际对方没有数据要发送,因此不会发送数据,接收方只能空等。于是该连接就这样在无数据传输的情况下白白浪费很多资源。

发布了64 篇原创文章 · 获赞 70 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/105012325