tcpdump入门——四次挥手

server/2024/9/22 15:47:12/

客户端断开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 的四次挥手过程,只是减少了一个数据包。


http://www.ppmy.cn/server/100851.html

相关文章

vue2子组件调用父组件传递prop得函数

在Vue中,props是父组件与子组件通信的桥梁。而prop的type选项可以用来指定传入的数据类型,以确保数据的正确性。 当prop的type为function时,这意味着父组件需要传递一个函数给子组件,子组件可以在适当的时候调用这个函数。 以下…

LeetCode 热题100-22

相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返…

汽车电子中间件的关键技术

汽车电子中间件的关键技术 中间件架构设计分层架构与模块化设计优势劣势 服务导向架构(SOA)主要特点:SOA在汽车电子中的应用:优势:劣势: 通讯协议与数据传输传统协议(CAN、LIN)CAN&a…

408专业课复习-数据结构

1.具体衡量、比较算法优劣的指标主要有哪两个?什么是时间复杂度?什么是空间复杂度? 时间复杂度T(n):根据算法写成的程序在执行时耗费时间的长度。 这个长度往往也与输入数据的规模有关。时间复杂度过高的低效算法可能导致我们在…

Angular路由使用

Angular路由是Angular框架中一个非常重要的特性,开发者可以根据URL的不同来动态地加载和显示不同的组件,从而构建出单页面应用(SPA)。 以下是Angular路由使用的基本步骤和要点: 1. 安装和配置路由模块 首先&#xf…

无人机视角下的EasyCVR视频汇聚管理:构建全方位、智能化的AI视频监控网络

随着5G、AI、物联网(IoT)等技术的快速发展,万物互联的时代已经到来,视频技术作为信息传输和交互的重要手段,在多个领域展现出了巨大的应用潜力和价值。其中,EasyCVR视频汇聚平台与无人机结合的AI应用更是为…

Qgis 开发初级 《地图交互》

Qigs 添加数据的方式其实有两种,一种在非编辑模式下,一宗在编辑模式下,编辑模式下的数据操作是可以追溯的,可撤销,可恢复。编辑模式下的数据操作基本都是交互式操作,所以和事件是分不开的。qgis 的有些事件…

nginx 详解

1 nginx是什么 nginx是由俄罗斯人发明的一款高性能的web服务器,它同早期的Apache,IIS,Lighttpd等都具有web服务器的功能,能够发布网站代码等资源,为用户提供信息资讯。但是nginx的功能不单单只是做为web服务器&#x…