IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】 -> 正文阅读

[系统运维]wireshark分析tcp协议(二)四次挥手(异常情况)【理论 + 实操】

上一章:wireshark分析tcp协议(一)三次握手【理论 + 实操】

在完成对三次握手的抓包后,间隔了一段时间,来进行四次挥手的抓包。

知识背景

问题一:为什么要四次挥手呢?

在上一章的三次挥手中,我们说tcp协议是

  • 面向连接
  • 可靠的
  • 基于字节流的传输层协议

而且在三次握手时有对这些特点进行体现。

在理解过程中,我们可以简单的将

tcp的通信过程,理解为为两个陌生的小朋友的行为

  • 三次握手:两个小朋友在相互认识
  • 发送数据:两个小朋友在愉快的玩耍,有来有回的
  • 而四次挥手则是两个小朋友中有一个小朋友要回家了

小朋友A突然被妈妈叫回家了,于是和小朋友B说我要回家了,但是他没有走,还想听小朋友B说说话。

小朋友B不舍的说知道了,然后再把之前没说完的话继续说完,然后小朋友B也说到,好吧,那你走吧。

小朋友A听完小朋友B的话之后,愉快的分开了,期待下次的相遇~

四次挥手操作步骤

1.建立连接

此步骤为三次握手的全部过程,详情见wireshark分析tcp协议(一)三次握手【理论 + 实操】

2.关闭网站

在建立起连接后,我们关闭网站,等待FIN ACK包的出现

请添加图片描述

但是我们发现这里只有三次挥手出现,而且等待了很久也没有第四次的出现,为什么呢?

注意:

这里虽然显示的是三次挥手,但是实际上的 步骤没有变

只是将第二次和第三次合并

为什么第二次会没了呢?

服务器其实在之前就早已经发送完数据了,一直等着你发消息呢!但是你有一直不发,

这时候你说“好了”,服务器收到之后,心里想“好家伙,老子早就不想干了”——客户端FIN ACK

于是它快速的返回了“我这边也完了,快散伙吧,我还要去找其他人玩呢”——服务端FIN ACK

客户端接受后,同意了结束请求

为什么服务器在发完数据后不主动结束呢?

因为开启了TCP延迟确认机制(默认开启)

3.第一次挥手——请求中断(FIN,ACK)

在第一次挥手时,我们主动的向服务端发送结束连接请求

我们查看第一条报文

请添加图片描述

  • 源端口:9277,目的端口:80

查看当前的Flags

请添加图片描述

此时finack都为1,是一个客户端发送连接请求

  • 客户端序号seq = 3747946131
  • 确认序号 seq = 1890243776

4.第二次挥手——服务器请求中断

请添加图片描述

  • 源端口:80,目的端口:9277
  • 服务器序号 = 1890243776
  • 服务器确认序号 = (客户端发送序号)+ 1= 3747946131 + 1

请添加图片描述

与客户端发送完成请求一致,不过为 服务端发送请求

5.第三次挥手——客户端同意结束

请添加图片描述

  • 源端口:9277,目的端口:80
  • 客户端序列号 = 3747946131 + 1 = 3747946132
  • 客户端确认序号 = 服务器端序号 + 1 = 1890243776

自此,中断连接。

异常情况:RST终止

在研究这四次挥手的时候,我貌似发现了一个不得了的东西

首先,我很正常的等待终止连接

第一个令我疑惑的点出现了:服务器提出终止连接请求

原本,我以为正常情况下,只有客户端才能主动终止请求的

但是了解下来,发现 TCP中断,双方都有权利主动终止请求
因为TCP是全双工通信,两者通信地位相等

请添加图片描述

在服务器主动发送终止指令后,客户端被动响应终止。

然后客户端主动提出keep-alive不断开连接,服务器响应

再一次客户端提出keep-alive的时候,服务器RST终止了异常的连接。

甚至,我还想到了一个离谱的卑微爱情故事

服务器首先对客户端提出了分手,客户端通过ack犹豫的答应了,但是客户端发现他还有很多话没有对服务器说,然后就提出了keep-alive承诺,保持一段时间的交流好吗?我还有一些话要对你说。
服务器看到keep-alive承诺的情况下,发送ack不耐烦的答应了他。
但是客户端觉得不放心,又发送了一次,你真的愿意交流一段时间吗?
最后,服务器直接通过RST关闭了这异常的链接……

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:24:17  更:2022-09-30 01:26:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:35:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码