抓包分析TCP的连接与断开过程(三次握手四次挥手)

本文详细解析了TCP协议中的三次握手建立连接及四次挥手断开连接的过程。从客户端发送SYN请求开始,到服务器响应SYN-ACK,再到客户端确认ACK,完成连接建立。断开连接时,客户端发送FIN,服务器回应ACK并发送FIN,最后客户端确认FIN,完成断开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先熟悉一下TCP头部


抓包分析三次握手过程

wireshark如何抓取指定IP的数据包?(这里的IP为我的服务器IP)

  • 可以通过过滤框通过表达式过滤:例如ip.src = = 47.101.210.40 抓取源主机IP的数据包,ip.dst==47.101.210.40代表目标主机的数据包
  • 因此抓取一个机器三次握手的数据包,可以用表达式ip.dst = = 47.101.210.40 or ip.src= =47.101.210.40

本案例我使用个人电脑(客户端),请求个人服务器,来分析三次握手(下图前三个数据包)

  • 客户端发送一个SYNclient报文段,生成Seq(ISN初始化序列号)(注意:这里的序列号0只是wireshark计算后的相对数字,真正的序列号是32位的36-61-df-71…

  • 服务器收到SYNclient数据包,也发送自己的SYN-server响应,包含初始化序列号Seq(ISN),并发送ACK(ACK=Seqclient+1)作为确认

  • 最后客户端返回ACK(数值为服务器初始化序列号ISN+1)以确认服务端的SYN同步信号


TCP断开连接四次挥手过程

  • 主动关闭者(这里是客户端)发送FIN段,和当前seq计为K,包含用于确认对方最后一次数据的ACK段计为L
  • 服务器响应,ACK=k+1,seq=L
  • 服务器发起主动关闭信号,向客户端发送FIN段,seq=L
  • 客户端最后发送ACK用于确认服务器的FIN,如果FIN丢失,发送方会重传指导收到ACK响应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值