tcpdump入门——四次挥手

客户端断开tcp连接:

数据包分析:

上面抓到的四次挥手包确实展示了 TCP 连接终止的过程,但观察到的包顺序和标志位可能会和经典的四次握手示例稍有不同,这是因为在实际网络中,TCP 连接的终止过程可能会有一些优化或变化。我们来详细分析抓到的每个包:

抓包分析

  1. 第一个包

    • 时间: 08:00:44.589551
    • 内容:
IP VM-4-12-centos.53238 > 172.17.0.10.8090: Flags [F.], seq 3219806466, ack 1515373532, win 229, options [nop,nop,TS val 486610600 ecr 486600448], length 0

分析:

  • 这个包是由客户端 VM-4-12-centos 发送给服务器 172.17.0.10
  • 包含了 FINACK 标志位(Flags [F.]),表示客户端希望关闭连接,同时确认之前服务器发送的数据包。
  • seq 表示当前数据包的序列号,ack 表示确认号。
  • 这是客户端发起连接关闭的第一步,进入 FIN_WAIT_1 状态。

2. 第二个包

  • 时间: 08:00:44.589799
  • 内容:
IP 172.17.0.10.8090 > VM-4-12-centos.53238: Flags [F.], seq 1515373532, ack 3219806467, win 227, options [nop,nop,TS val 486610600 ecr 486610600], length 0

分析:

  • 这个包是服务器 172.17.0.10 发送给客户端 VM-4-12-centos 的。
  • 同时包含了 FINACK 标志位(Flags [F.]),表示服务器确认了客户端的 FIN 包,同时自己也要关闭连接。
  • 服务器进入 LAST_ACK 状态,等待客户端最后的确认包。

3. 第三个包

  • 时间: 08:00:44.589820
  • 内容:
IP VM-4-12-centos.53238 > 172.17.0.10.8090: Flags [.], ack 1515373533, win 229, options [nop,nop,TS val 486610600 ecr 486610600], length 0

分析:

  • 这是客户端 VM-4-12-centos 发送的 ACK 包,确认了服务器的 FIN 包。
  • 此时,客户端进入 TIME_WAIT 状态,等待一段时间以确保服务器收到了 ACK。
  • 最终,客户端和服务器都进入 CLOSED 状态,连接终止。

总结

  • 你抓到的包显示了一个 优化的四次挥手。在这种情况下,客户端和服务器各自的 FIN 包和对前一个 FIN 包的 ACK 一同发送,导致你看到的包中包含了 [F.] 标志位而不是单独的 F. 标志位。这是一种常见的 TCP 优化,减少了需要发送的包的数量,同时仍然遵循了 TCP 的协议要求。

  • 这种优化是在客户端和服务器都没有更多数据要发送时发生的,因此它们的 FINACK 包可以合并,节省了一个数据包的传输。

这种优化仍然符合 TCP 的四次挥手过程,只是减少了一个数据包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值