TCP/IP(二十一)TCP 实战抓包分析(五)TCP 第三次握手 ACK 丢包

news2025/1/16 3:37:09

一  实验三:TCP 第三次握手 ACK 丢包

第三次握手丢失了,会发生什么?

注意: ACK 报文是'不会有重传'的,当 ACK '丢失'了,就由'对方重传'对应的报文

①  实验环境

②  模拟方式

1、 服务端配置'防火墙'

iptables -t filter -I INPUT -s 172.25.2.157 -p tcp --tcp-flag ACK ACK -j DROP

备注: 'DROP'策略就是'不响应'

iptables -t nat -D INPUT [$Num]  --> "记得还原"

注意:'$Num' 指的是需要删除的num,删除规则后,下方的'其他规则'会'补位',num会发生变更
​
+++++++++++++++++  "分割线"  +++++++++++++++++ 

2、 客户端执行'tcpdump'命令抓包

tcpdump -nni ens3 tcp and host 172.25.2.100 and port 80 -w tcp_third_ack.pcap

③  客户端发起请求

1、客户端向'服务端'发起 telnet,因为 telnet 命令是会'发起 TCP 连接',所以用此命令做测试

 

2、此时由于服务端'收不到第三次握手' 客户端的 ACK 包,所以一直处于 'SYN_RECV' 状态

 

3、而客户端是'已完成 TCP 连接'建立,处于 'ESTABLISHED' 状态:

4、继续过了 '1' 分钟后,观察发现'服务端'的 'TCP 连接'不见了

5、过了 '20' 分钟,'客户端'依然还是处于 'ESTABLISHED' 状态

6、接着,在刚才'客户端建立的 telnet 会话',输入 '123456' 字符,进行'发送'

7、持续 '好长'一段时间,客户端的 telnet 才'断开'连接

备注: 等待的时间'太长'

④  疑惑点

⑤  分析

我们把'刚抓'的数据包,用 'Wireshark' 打开分析,显示的'时序图'如下:

+++++++++++++  上图的流程'文字'分析  +++++++++++++

关注点: '服务端'的 TCP 连接'主动'中止了,所以刚才处于'SYN_RECV 状态'的 TCP 连接'断开'了

⑥  思考1

1、TCP 第'一次'握手的 SYN 包超时重传最大次数是由 'tcp_syn_retries' 指定

2、TCP 第'二'次握手的 SYN、ACK 包超时重传最大次数是由 'tcp_synack_retries' 指定

3、思考1: 那 TCP 建立连接后的'数据包最大超时重传次数'是由'什么参数'指定呢?

 tcp_retries2 设置了 15 次,并不代表 TCP 超时重传了 15 次才会通知应用程序终止该 TCP 连接

疑问: 那 TCP 的'数据报文'具体'重传'几次呢?

每一轮的 RTO '增长'关系'如下'表格:

⑦   思考2

思考: 那如果客户端'不发送'数据,什么时候才会断开处于 'ESTABLISHED' 状态的连接?

备注: 这个时间是'有点长'的,所以如果我'抓包足够久','或许'能抓到'探测'报文

TCP 保活机制 

 

⑧   小结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模拟面试

‍ 一、成功案例 “面试官说我的回答精准打击到他们的规划点”—— 为何能有这样得效果呢?除了常规的模拟面试流程,我还能提供一些—— 二、核心差异化价值 1、模拟面试前,我的用心准备 根据职位JD、公司/部门信息,我会梳理出面试…

攻防世界web篇-PHP2

直接点击进入到http网页中,会得到这样一个界面 这里,我最开始使用了burp什么包也没有抓到,然后接着又用nikto进行探测,得到的只有两个目录,当时两个目录打开后,一个是fond界面,一个是这个网页的…

Vue3响应式原理初探

vue3响应式原理初探 为什么要使用proxy取代defineProperty使用proxy如何完成依赖收集呢? 为什么要使用proxy取代defineProperty 原因1:defineproperty无法检测到原本不存在的属性。打个🌰 new Vue({data(){return {name:wxs,age:25}}})在vue…

MSQL系列(五) Mysql实战-索引最左侧匹配原则分析及实战

Mysql实战-索引最左侧匹配原则分析及实战 前面我们讲解了索引的存储结构,BTree的索引结构,以及索引最左侧匹配原则,Explain的用法,今天我们来实战一下 最左侧匹配原则 1.联合索引最左侧匹配原则 联合索引有一个最左侧匹配原则 …

一文了解什么是数字孪生

数字孪生,作为数字化时代的新兴技术,正日益引领着未来的发展方向。它并非一种独立的工具或软件,而是一种理念,一种将实体与虚拟世界紧密结合的方法。本文将详细介绍数字孪生的本质、应用领域以及对未来的影响。 数字孪生的本质 …

Redis:Feed流之Timeline的实现

当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体验,通过无限下…

多测师肖sir_高级金牌讲师___python之模块openpyxl

python之模块openpyxl 一、用python读写excel的强大工具:openpyxl (一)下载openpyxl的方式 方式一:python -m pip install openpyxl 或 pip install openpyxl 方式二:在pycharm中安装 (二)…

《优化接口设计的思路》系列:第五篇—接口发生异常如何统一处理

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 本文参考项目源码地址:summo-springboot-interface-demo 前言 大家好!…

VScode运行SVN拉下来的项目

安装依赖包 pnpm install 启动程序 查看package.json文件中的serve,根据这个启动 pnpm dev 在浏览器使用http://localhost:8848/访问

论文阅读:Point-to-Voxel Knowledge Distillation for LiDAR Semantic Segmentation

来源:CVPR 2022 链接:https://arxiv.org/pdf/2206.02099.pdf 0、Abstract 本文解决了将知识从大型教师模型提取到小型学生网络以进行 LiDAR 语义分割的问题。由于点云的固有挑战,即稀疏性、随机性和密度变化,直接采用以前的蒸馏…

【算法设计与分析】第6章02 分支限界法

目录 分支限界法的设计技术 分支限界法:  约束条件  剪枝  分支限界法的设计步骤 思考题: 【例6-6】装载问题。  计算模型 【例6-7】背包  问题分析  问题分析 计算模型  计算模型  算法设计与描述 代码: 思…

文件打包下载excel导出和word导出

0.文件下载接口 请求 GET /pm/prj/menu/whsj/download/{affixId} 文件affixId多个id以逗号隔开。多个文件会以打包得形式。 1.Excel导出 1.0接口 POST 127.0.0.1:8400/pm/io/exportExcel/year-plan-table-workflow/report 参数 [{"org":"011","re…

C#快速排序算法

快速排序实现原理 快速排序(Quick Sort)是一种常用的排序算法,它基于分治的思想,通过将一个无序的序列分割成两个子序列,并递归地对子序列进行排序,最终完成整个序列的排序。 其基本思路如下: 选…

056:mapboxGL中layer的layout,paint,filter的属性值表达式说明总结

第056个 点击查看专栏目录 本篇文章是mapbox的layer中layout,paint,filter的表达式说明总结。 mapbox中 Expressions 是什么 Expressions:表达式集合(并非 style 的属性,只是 layer 的任何 layout布局属性和 paint绘制属性,以及 filter 属性等,它们的值都可以指定成一…

【NV GPU限制出口】昇腾能否接住滔天富贵

如何评价刘庆峰所言华为GPU已可对标英伟达A100? 国家超级计算济南中心: https://www.nsccjn.cn/

JAVA学习日记1——JAVA简介及第一个java程序

简单记忆 JAVA SE :标准版,核心基础 JAVA EE:企业版,进阶 JDK:Java Development Kit,Java开发工具包,包含JRE JRE:Java Runtime Environment,Java运行时环境&#xff…

Elasticsearch小bug记录:term: XXX was completely eliminated by analyzer

问题: 下面这个报错,是在配置同义词的时候报的错:不能识别南京。 {"error": {"root_cause": [{"type": "illegal_argument_exception","reason": "failed to build synonyms"…

Linux-ssh

文章目录 远程登录服务器配置远程服务器相关信息创建config文件配置config文件 配置密钥登陆先创建密钥配置密钥文件 执行命令scp传文件copy文件copy文件夹配置我们的vim和tmux 远程登录服务器 ssh userhostnameuser:用户名hostname:IP地址或域名 第一次登陆会显示…

Spring MVC(一)【什么是Spring MVC】

重点 Spring:IOC 和 AOP 。 Spring MVC :Spring MVC 的执行流程。 SSM 框架的整合! Spring 和 Mybatis 我们不建议使用太多注解,Spring MVC 建议全部使用注解开发! 1、MVC 回顾 1.1、什么是MVC MVC是模型(Model)…

音乐播放器VHDL蜂鸣器数码管显示简谱,视频/代码

名称:音乐播放器数码管显示简谱蜂鸣器 软件:Quartus 语言:VHDL 代码功能: 设计音乐播放器,播放一首歌,使用开发板的蜂鸣器播放音乐,使用Quartus内的ROM IP核存储音乐文件,使用数…