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

一  实验三: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.rhkb.cn/news/163325.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MS5248数模转换器可pin对pin兼容AD5648

MS5228/5248/5268 是一款 12/14/16bit 八通道输出的电压型 DAC,内部集成上电复位电路、可选内部基准、接口采用四线串口模式,最高工作频率可以到 40MHz,可以兼容 SPI、QSPI、DSP 接口和 Microwire 串口。可pin对pin兼容AD5648。输出接到一个 …

【数据结构】线性表(三)循环链表的各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间)

目录 线性表的定义及其基本操作(顺序表插入、删除、查找、修改) 四、线性表的链接存储结构 1. 单链表 2. 循环链表 a. 循环链表节点结构体 b. 创建新节点 c. 在循环链表末尾插入节点 d. 删除循环链表中指定值的节点 e. 在循环链表中查找指定值的…

Flask Web 安装bootstrap失败pip install bootstrap

失败原因:网速太慢了 把公共wifi换成手机热点,成功:) 😃 更新:开了手机热点还是报下面的错,但是把科学上网关了,就成功了,反正就是网络问题

决策树oo

决策树学习的算法通常是一个递归地选择最优特征(选择方法的不同,对应着不同的算法),并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建 步骤&#…

【Docker从入门到入土 1】Docker管理命令

Part1 一、容器1.1 虚拟化技术的演变1.2 容器简介1.3 为什么要用到容器?1.4 常用的容器引擎1.5 容器和虚拟机 二、Docker2.1 什么是docker?(面试题)2.2 Docker和虚拟机的区别(面试常问,记住)2.3…

视频号下载助手中的小程序怎么用?微信视频号提取下载教程

​用过视频号视频下载助手都说好用,但还有不少人不知道如何操作,怎么才能快速提取视频号视频呢?今天就分享两个工具【视频下载助手】和【视频下载bot】两个结合的方式进行下载,具体操作看教程。 在微信客户端中搜索提取机器人&…

mac电脑zsh: command not found: adb

“zsh: command not found: adb” 的解决方法: 前提 已经成功安装了 Android Studio. 打开 iTerm 终端依次输入下面命令: echo export ANDROID_HOME/Users/$USER/Library/Android/sdk >> ~/.zshrc echo export PATH${PATH}:$ANDROID_HOME/tool…

【音视频|ALSA】基于alsa-lib开发ALSA应用层程序--附带源码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

HCIP复习第二课:HCIA(网络类型及数据链路层协议)

目录 一、网络类型的分类(4种) 二、数据链路层协议 三、实验作业(ppp实验) 一、网络类型的分类(4种) 出现原因:对于不同的二层链路类型的网段,OSPF会生成不同的网络类型 1、多点接…

“火焰杯”软件测试高校就业选拔赛获奖名单揭晓,河南工业大学人工智能与大数据学院两名学子上榜,奖金2万元!

10月14日,由大学生软件测试就业联盟主办的“火焰杯”软件测试高校就业选拔赛颁奖典礼在D204会议室隆重举行。我校人工智能与大数据学院软件工程1803班张志成同学夺得决赛一等奖,奖金20000元;软件工程1904班王博伦同学荣获初赛一等奖和决赛二等…

【自动化测试】基于Selenium + Python的web自动化框架

一、什么是Selenium? Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid:  1、Selenium IDE&…

如何通过SK集成chatGPT实现DotNet项目工程化?

智能助手服务 以下案例将讲解如何实现天气插件 当前文档对应src/assistant/Chat.SemanticServer项目 首先我们介绍一下Chat.SemanticServer的技术架构 SemanticKernel 是什么? Semantic Kernel是一个SDK,它将OpenAI、Azure OpenAI和Hugging Face等大…

MyBatis--多案例让你熟练使用CRUD操作

目录 一、前期准备 二、两种实现CRUD方式 三、增加数据(INSERT) 四、删除数据(DELETE) 五、查询数据(SELECT) 六、更新数据(UPDATE) 一、前期准备 1.创建maven项目并在pom文件…

【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 系列文章目录速率带宽延迟/时延(delay或latency) 下面介绍一些计算机网络中常用的性能指标。在本篇中涉及速…

ELK架构Logstash的相关插件:grok、multiline、mutate、date的详细介绍

文章目录 1. grok (正则捕获插件)1.1 作用1.2 正则表达式的类型1.2.1 内置正则表达式1.2.2 自定义正则表达式 2. mutate (数据修改插件)2.1 作用2.2 常见配置选项2.3 应用实例 3. multiline (多行合并插件)3.1 作用3.2 常用配置项及示例3.2.1…

Looper分析

Looper分析 在 Handler 机制中,Looper 的作用是提供了一个消息循环 ( message loop ) 的机制,用于处理和分发消息。 Looper 是一个线程局部的对象,每个线程只能有一个 Looper 对象。它通过一个无限循环来不断地从消息队列中取出消息&#x…

Linux搭建文件服务器

搭建简单文件服务器 基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器 IP环境192.168.200.100VMware17 基于centos7.9搭建http文件服务器 安装httpd [rootlocalhost ~]# yum install -y httpd关闭防火墙以及selinux [roo…

【软考-中级】系统集成项目管理工程师 【15 信息 (文档) 和配置管理】

持续更新。。。。。。。。。。。。。。。 【第十五章】信息(文档)和配置管理 知识精讲考点 1:软件文档一般分为三类:开发文档、产品文档、管理文档。考点 2:文档的质量可以分为四级:考点 3:配置管考点 4:考点 5:考点6:考点 7:配置项版本号:考点 8:考点9…

36张图详解网络基础知识

下午好,我的网工朋友。 在网工这行,只要是面试,一般都难逃网络协议相关的问题吧。 不管是OSI还是TCP/IP,这都是非常重要、基础的知识,很多知识点都是以它们为基础去串联的。 作为网络世界的底层技术,掌握…

Docker安装ES7.14和Kibana7.14(无账号密码)

一、Docker安装ES7.14.0 1、下载镜像 docker pull elasticsearch:7.14.0 2、docker安装7.14.0 mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data chmod 777 -R /usr/local/elasticsearch/ echo "http.host: 0.0.0.0" >> /u…