TCP/IP(十九)TCP 实战抓包分析(三)TCP 第一次握手 SYN 丢包

news2024/11/15 12:36:27

一  TCP 三次握手异常情况实战分析

说明: 本文是'TCP 三次握手异常'系列之'一'

①   异常场景

接下里我用'三个实验案例',带大家一起探究探究这'三种异常'

关注: 如何'刻意'练习模拟'上述'场景 以及 'wireshark'现象

②  实验环境

③  实验一:TCP 第一次握手 SYN 丢包

思考: 如何模拟 TCP '第一次'握手 'SYN 丢包'的情况? --> "采用2"

方式1: 拔掉'服务器'的网线后,'立刻'在客户端执行 curl 命令

备注: 不建议因为'抓不住'时机,可能导致网络就'不通'

方式2: 在'服务器'的防火墙,屏蔽'客户端' TCP 报文中标志位是 'SYN' 的包  

删除iptables中的规则 

1、看 iptables 中的规则,找到'要删除的规则'的'编号':

iptables -t '表名' -L -n --line-numbers

2、删除'指定编号'的'规则':

iptables -t [table] -D [chain] [rule-number]

  iptables扩展匹配条件之 --tcp-flags

说明: 下面的三种'等价'命令匹配到的报文是'第一次握手'的报文 --> 采用'最后一个'

iptables -I INPUT -s 172.25.2.157  -m tcp -p tcp --tcp-flag ALL SYN -j DROP

iptables -I INPUT -s 172.25.2.157  -m tcp -p tcp --tcp-flag \

SYN,ACK,FIN,RST,URG,PSH SYN -j DROP

iptables -t filter -I INPUT -p tcp -s 172.25.2.157  -m tcp --syn -j DROP

备注: filter表是iptables的'默认表',上面省略了'-t filter'

2、在客户端执行 'curl -kv nginx.wzj.com' 命令

备注: 加上'-kv'参数刻意看到'DNS解析'、'SSL握手'、'HTTP请求'详细过程

备注: 过了'一会 [大约127 s]',curl 返回了'超时连接'的'错误'

分析: 从 date 返回的时间,可以发现在超时'127 s'的时间后,curl '返回'了'错误'

3、其间在'客户端'的 tcpdump 抓包 

tcpdump -nni any tcp and host 172.25.2.100

 

tcpdump -nni any tcp and host 172.25.2.100  -w tcp_sys_timeout.pcap

接着: 把 'tcp_sys_timeout.pcap 文件'用 'Wireshark' 打开'分析',显示'如下图':

备注: 'TCP Retransmission' --> 'tcp 重传' --> wireshark '黑色背景,红色字体'

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

/proc/sys/net/ipv4/tcp_syn_retries

 

小结: 'tcp_syn_retries 为 5'的 场景,关抓如下的'原理图'

RTT 和 RTO 

RTT(Round Trip Time):一个连接的往返时间,即数据'发送'时刻到接收到'确认'的时刻的'差值'

RTO(Retransmission Time Out):重传超时时间,即从数据发送时刻算起,超过这个时间便执行重传

RTT和RTO 的关系是:由于网络波动的'不确定性',每个RTT都是动态变化,所以RTO也随着RTT动态变化

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

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

相关文章

STM32F407在RAM中执行程序

STM32F407在flash中执行代码的速度比在ram中执行代码的速度快。因为STM32F407有一颗“自适应实时存储器加速器”,这里不讨论ART Accelerator的加速方案。 把代码放在RAM中执行纯粹是为了学习。 将个别函数的代码放到RAM中运行 使用自己编写的链接脚本(sct文件)。 …

《论文阅读28》OGMM

一、论文 研究领域: 点云配准 | 有监督 部分重叠论文:Overlap-guided Gaussian Mixture Models for Point Cloud Registration WACV 2023 二、概述 概率3D点云配准方法在克服噪声、异常值和密度变化方面表现出有竞争力的性能。本文将点云对的配准问题…

【计算机网络原理】初始网络基础

文章目录 1. 网络发展史1.1 单机时代1.2 网络互连局域网 LAN广域网 WAN 2. 网络通信基础2.1 IP 地址2.2 端口号2.3 协议2.4 五元组2.5 协议分层2.5.1 OSI七层模型2.5.2 TCP/IP五层模型 2.6 封装和分用2.6.1 数据封装(发送方情况)2.6.2 数据分用(接收方情况) 总结 1. 网络发展史…

这是不是你们都在找的免费又好用的配音网站?

随着人工智能技术的不断发展和普及,AI配音软件也越来越多地进入人们的视野。它可以帮助我们快速地将文字转换成语音,让我们的工作变得更加高效和便捷。在本文中,我将介绍一款非常实用而且免费的AI配音网站,超级简单好用&#xff0…

C++string的使用

CSDN的uu们,大家好。这里是C入门的第十六讲。 座右铭:前路坎坷,披荆斩棘,扶摇直上。 博客主页: 姬如祎 收录专栏:C专题 目录 1.构造函数 1.1 string() 1.2 string(const char* s) 1.3 string(const …

Cinema 4D云渲染一分钟动画要多少钱?如何进行Cinema 4D云渲染?看完就懂了

1.为什么Cinema 4D要使用云渲染? 近年来,Cinema 4D在实现视觉效果方面取得了很大的进展。但是,随着视觉效果的复杂化,渲染的工作量也相应增加,导致渲染时间变长。在这种情况下,云渲染平台就能…

Linux嵌入式系统开发之路:从小白到大牛

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 嵌入式系统开发是一个充…

Spring framework Day22:Aware接口

前言 在Spring框架中,有许多接口和类都有一个非常重要的作用——让我们能够更方便地构建应用程序和管理组件。其中,Aware接口就是其中一个非常重要的接口之一。通过实现该接口,我们可以让Spring容器感知到特定的组件和资源,并进行…

媒体转码和输出软件:Media Encoder 2024中文版

想要高效地转码、优化输出吗?那就来尝试全新的Media Encoder 2024吧!Media Encoder是Adobe公司出品的一款媒体转码和输出软件,可以帮助您快速、高效地将多种格式的视频和音频转换为所需的输出格式。 全新的Media Encoder 2024提供了更加智能…

【CANoe】XML Test Module使用实例

文章目录 一、实操步骤1、增加XML Test Module节点2、配置XML Test Module节点3、XML Test Module节点增加CAPL脚本(.can文件)4、文件夹结构5、使用仿真节点开始测试6、测试结果与测试报告7、同理,在Test Setup也可如此操作 一、实操步骤 1、增加XML Test Module节…

使用conda install一直卡在solving environment的解决方法

使用国内镜像源,但install仍旧一直卡在solving environment,超过10分钟就不用等了; 检查C:\Users\UserName 路径下的.condarc文件 将这个defaults这一行删掉即可

【Linux-常用命令-基础命令-复制-copy-命令-笔记】

【Linux-常用命令-基础命令-复制文件-copy-命令-笔记】 1、前言2、操作3、自己的实践 1、前言 最近,在使用Linux的时,使用相关基础命令是,总是容易忘记,上网一搜,大部分都写的比较繁琐,我就找下复制命令&a…

【算法设计与分析qwl】04 NP-hard——只是举例几个,货郎,双机调度,01背包

NP-hard问题: 有效算法是 输入规模的多项式时间算法。 这些问题的难度处于可有效计算的边界。 算法数据结构程序设计 例4 货郎问题 建模与算法: 解是一个排列, 0-1背包问题: 建模: 双机调度: 建模&#x…

【PPT技巧】如何将多张幻灯片打印在一张纸上?

PPT页面很多,想在打印的时候,多张幻灯片放置在同一页面,也就是打印在一张纸上,如何设置呢? 首先,打开需要打印的PPT文件,点击菜单选项卡【文件】,然后在弹出的页面中点击【打印】选…

单链表经典OJ题:找出链表的中间节点

题目: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 图例: 解法: 解法1: 先遍历链表确定链表节点的数量,然后再找到中间位置的节点 解法2: 快慢…

Linux性能优化--补充

14.1. 性能工具的位置 本书描述的性能工具来源于Internet上许多不同的位置。幸运的是,大多数主要发行版都把它们放在一起,包含在了其发行版的当前版本中。表A-1描述了全部工具,提供了指向其原始源位置的地址,并注明它们是否包含在…

百度地图高级进阶开发:圆形区域周边搜索地图监听事件(覆盖物重叠显示层级\图像标注监听事件、setZIndex和setTop方法)

百度地图API 使用百度地图API添加多覆盖物渲染时,会出现覆盖物被相互覆盖而导致都无法触发它们自己的监听;在百度地图API里,map的z-index为0,但是触发任意覆盖物的监听如click时也必定会触发map的监听; 项目需求 在…

6.7 案例分析与实现

思维导图: 6.7 案例分析与实现 #### 案例6.2: 六度空间理论 【案例分析】 - **背景介绍**: 六度空间理论提及在任意两人之间最多仅有6个人的连接。尽管这一理论被广泛提及并得到了某种程度的验证,但从科学角度看,它仍然只是一…

模型的选择与调优(网格搜索与交叉验证)

1、为什么需要交叉验证 交叉验证目的:为了让被评估的模型更加准确可信 2、什么是交叉验证(cross validation) 交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将数据分成4份,其中一份作为验证集。然后经过…

C/C++面试常见问题——指针和引用的区别

首先想要理解指针和引用的区别,我们要明确什么是指针,什么是引用 一,指针和引用的基本概念及特性 指针是一个特殊变量,其中存储着所指向变量的地址 指针主要有以下特性: 1. 在使用时需要*解引用 2. sizeof(指针)的…