【虹科案例】使用 TCP 分析测量握手时间

如何使用 Allegro Network 万用表的 TCP 分析确定握手时间

握手需要多少时间?

在图 1 中,您可以在虹科Allegro 网络万用表的 TCP 统计数据中看到过去 10 分钟的客户端握手次数。在这里,您可以清楚地看到在指定时间段内有延长的响应时间。但为什么会延长呢?是不是互联网上的服务器太远?或者可能是无线局域网太弱?但是这些很快就不再是问题了,因为有了虹科Allegro网络万用表,您可以轻松快速地找出响应时间过长的位置以及原因。

图 1:TCP 统计信息一览

握手时间较长的原因

在图 2 的表中,所有数据都以表格形式显示。在这里,您可以根据各种参数选择是按升序还是降序排序,从而可以快速查看哪个服务器或客户端的平均握手时间最长。

虹科Allegro 网络万用表可以永久记录和分析握手时间。这样做的好处是什么呢?您可以一目了然地看到虚拟机是否存在延迟问题,甚至可能存在的质量问题。虚拟机通常会有这种情况,因为它们都是按照“Best Effort”来运行的。

Best Effort意味着它所分布的计算能力与当前可用的计算能力一样多。

对于一个服务和另一个服务(如备份),这种情况可能很好,因为这里的时间片大小并不重要。另一方面,对于ERP系统等服务,情况看起来却有所不同。因为ERP系统会发送许多小请求,它需要的是立即计算能力。

这个对于快速浏览握手时间也很好。我们曾经遇到过这样的情况,即握手时间在某些时候会经常上升,我们可以很快地判断出是虚拟机出了问题。我们意识到了这是由于主机没有为虚拟机分配足够的处理时间,因此出现重大停顿而造成的原因,其中,机器几乎静止不动,没有回答任何请求。

图 2:重要参数排序表

如果握手时间远远超过40毫秒怎么办?

这是你应该注意的地方。在这种情况下,通常意味着数据包已到达服务器,但服务器要么负载非常高,要么连接速度太慢。在客户端方向也是如此。如果客户端确认其在接收的数据方面运行缓慢,则可能是客户端或链路过载造成的。

TCP 重新传输

虹科Allegro网络万用表使您能够随时查看 TCP 统计信息。这使您可以缩小问题所在。对于 TCP 重新传输,这同样是可能的。如图 3 所示,您可以在菜单项 TCP 重传下看到连接的所有数据包和重新传输的数据。这使您可以立即查看重复的数据百分比以及总共传输的数据量。

图 3:TCP 重新传输

数据何时出现两次?

如果数据在同一个位置出现两次,则表示远程站未收到数据。在这种情况下,是设备和接收系统之间存在过载导致的虹科Allegro网络万用表中数据丢失。

实践中的典型用例:

有人抱怨网络太慢。但是如果使用虹科Allegro 网络万用表,您可以直接在服务器上进行测量,以查看其当前响应时间。如果此处未显示任何重新传输,您还可以查看数据在什么时间发送出去。则可以知道是否有网络带宽问题。除此之外,您还可以查看响应时间。如果这些值较低,则可以完全排除网络是导致问题的原因。如果问题出在服务器中或直接在客户端中,这需要很长时间来处理数据。

如何找到无效连接?

在图 4 中,您可以在”连接无效的 TCP 服务器”选项卡上的 TCP 统计信息下清楚地识别此类无效连接。通过这种方式,您始终可以立即知道哪个IP地址正在发送无效请求,并在必要时采取措施。

无效连接是指发送了 TCP 请求但不显示任何数据。其中一个原因可能是来自外部的攻击。但也可能是有人正在发送连接,但根本不想传输它们,并且还在客户端 – 服务器通信中受到干扰。

在表中,您可能还会看到某些连接包含状态”无效”。如果只传输了几个字节并且已经在那里握手,但连接已经打开了20个小时并且从未彻底地关闭,则可能会出现这种情况。请保持警惕,因为这可能是一次攻击。但请注意,这不是一个安全功能,而是一种早期预警系统。

图 4:查找无效连接

TCP 标志评估的功能

通过这种方式,您可以轻松快速地查看在什么时间使用了多少标志。

这可能表明网络中存在问题,例如,如果突然重置速率增加很多。在这种情况下,您可以按发送或接收最多重置的IP对表进行排序,以找到罪魁祸首。

何时出现零窗口?

由于应用程序提取数据的速度不够快,所以当数据到达服务器时,始终会出现零窗口。这与操作系统核心中的缓冲区有关。每当数据到达操作系统的速度过快时,缓冲区就会变小。一旦缓冲区用完,TCP 就会发送消息”缓冲区为 0″,即零窗口。这样做的好处是,可以排除网络的问题。这是因为两个设备之间的网络足够快,服务器跟不上的原因。

但同时会有两个可能的原因:

  1. 窗口太小,可能会在其中发送数据。
  2. 或者应用程序速度太慢,无法接受数据

图 5:TCP 零窗口

在图 5 中所示的菜单项”TCP 零窗口”下,您可以随时查看存在哪些零窗口,还可以跟踪已发送和接收的窗口数。同时,您可以看到操作系统可以缓存的数据量有多大,即所谓的窗口大小。这是在 TCP 连接开始时通过 Windows 缩放因子协商的。Windows 比例因子确定最大大小,并且在连接运行时无法更改。

一般来说,出现这些标志,都是物理布线,交换机,路由器,防火墙没有问题的表现。在这里,问题显然出在终端设备及其性能上。因此,如您所见,TCP分析可帮助您快速排除可能的问题并更接近真正的问题。TCP的最大优点是它还可以与大量协议一起使用,特别是对于SSL等完全加密的流量,因为TCP在ssl中也有使用。

应用示例:

使用虹科Allegro网络万用表,您可以轻松地按发送最多 TCP 零窗口的应用程序进行排序。在我们的例子中,有很多来自备份系统。我们可以通过更仔细地观察看到每秒发送500个零窗口数据包的时间。同时,响应时间也非常慢。这是什么原因呢?

在”对等”项目下,我们看到从我们的磁盘站传输了66 GB的大容量。在这种情况下,每晚我们都会把中央 NAS 备份到旧 NAS。现在新 NAS 比旧 NAS 更快,也可以更快地发送数据。

使用过滤器排除流量

通常,在安装时,您要么获得大型镜像端口,要么从数据包代理处获得大量数据。为了分析这一点,我们内置了一个网络过滤器。这样,您可以轻松忽略某些不想记录或分析的流量。

此类连接还可以定义为黑名单或白名单。也许您有与您的测量相关的某些IP或MAC滤波器。或者,反之亦然,您希望排除在任何情况下都不应分析的某些计算机。请注意,即使单个数据包已被排除,仍然可以在接口统计信息中看到它们,但这不是Allegro网络万用表的问题,这是因为数据包存在并已注册。但在处理它们之前,它们被过滤掉并在内部丢弃。为了帮助您跟踪这一点,我们已将”过滤流量”部分安装到仪表板中。

如图 6 所示,您将在此处找到以下区域的筛选器函数:IP 地址、子网、IP 对、MAC 地址、VLAN、端口、网络接口筛选器。

筛选时的链接是基于 OR 的,这意味着每个筛选器都是单独应用的。例如,如果同时应用 MAC 筛选器和 IP 筛选器,那么一旦地址遇到该流量,就会将其过滤掉。在相反的情况下,如果您添加了许多IP地址,则它们将被Or链接,并且一旦命中IP地址,就会应用过滤器。

图 6:筛选特定流量

结论

虹科 Allegro网络万用表中的 TCP 分析和握手次数测量功能可以快速分析错误并检测可能的攻击。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT探索系列之五:讨论人工智能伦理问题及ChatGPT的责任

文章目录 前言一、安全二、隐私和道德三、我们应该做什么总结 前言 ChatGPT发展到目前,其实网上已经有大量资料了,博主做个收口,会出一个ChatGPT探索系列的文章,帮助大家深入了解ChatGPT的。整个系列文章会按照一下目标来完成&am…

给定一个文本文件,每行是一条股票信息,写程序提取出所有的股票代码

问题:给定一个文本文件,每行是一条股票信息,写程序提取出所有的股票代码。其中,股票代码规则是:6 位数字, 而且以.SH 或者.SZ 结尾。 文件内容示例: 2020-08-08;平安银行(000001.SZ);15.55;2940…

如何用ChatGPT做品牌联名方案策划?

该场景对应的关键词库(15个): 品牌、个人IP、社交话题、联名策划方案、调研分析、市场影响力、资源互补性、产品体验、传播话题、视觉形象设计、合作职权分配、销售转化、曝光目标、宣发渠道、品牌形象 提问模板(1个)…

kubernetes项目部署

目录 ​一、容器交付流程 二、k8s平台部署项目流程 三、在K8s平台部署项目 一、容器交付流程 容器交付流程通常分为四个阶:开发阶段、持续集成阶段、应用部署阶段和运维阶段。 开发阶段:开发应用程序,编写Dockerfile; 持续集成阶段&#…

很佩服的一个Google大佬,离职了。。

这两天,科技圈又有一个突发的爆款新闻相信不少同学都已经看到了。 那就是75岁的计算机科学家Geoffrey Hinton从谷歌离职了,从而引起了科技界的广泛关注和讨论。 而Hinton自己也证实了这一消息。 提到Geoffrey Hinton这个名字,对于一些了解过…

Spring Cloud学习笔记【分布式配置中心-Config】

文章目录 SpringCloud Config概述概述传统方式弊端主要功能与GitHub整合配置 Config服务端配置与测试服务端配置(即Gitee上的配置文件)Config Demo配置Spring Cloud Config访问规则 Config客户端配置与测试bootstrap.yml说明Config客户端 Demo配置 SpringCloud Config概述 概述…

无需公网IP 使用SSH远程连接Linux CentOS服务器【内网穿透】

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置…

深入理解Java虚拟机——垃圾收集器

1.前言 在前面我们已经说过了垃圾收集算法,那么现在我们要讲的垃圾收集器,实际上就是对垃圾收集算法的实践。 首先我们先看一张图,这张图可以帮助我们了解各款经典垃圾收集器之间的关系: 图中的垃圾收集器所在的区域代表了它是属…

【三十天精通Vue 3】第二十六天 Vue3 与 TypeScript 最佳实践

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、为什么使用TypeScript?二、Vue 3和TypeScript的基础2.1 安装TypeScript2.2 配置TypeScript2.3 Vue 3中使用TypeScript

Java多线程基础概述

简述多线程: 是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 正式着手代码前,需要先理清4个概念:并发,并行,进程&#…

TinyJAMBU的制动原理——一种轻量化的认证密码

关于TinyJAMBU的定义和介绍在另一篇博文已经介绍过了,这里只对其动作原理进行描述和说明。 对应的博文链接如下:TinyJAMBU:一种轻量化密码介绍 首先,该密码是一个流密码体系的块密码框架。其加密模式整体上来看是块密码&#xff0…

让语言学习更简单的 WordFlow

作为一个英语并不是那么特别好的计算机专业学生,长期积累英语的学习对个人发展还是有意义的。简单来说,我在语言上最大的两个问题,一个自己「不理解」,另一个是自己「不会表达」。 上述两个问题主要体现在口语层面,而…

实验二 存储器管理

实验二 存储器管理 实验目的: 理解各类置换算法的原理和虚拟存储器管理的方法。 实验内容: 编程实现LRU算法或CLOCK/改进算法等置换算法(二选一),模拟实现虚拟存储器的地址变换过程。 实验步骤: 1…

【Golang项目实战】用Go写一个学生信息管理系统,真的太酷啦| 保姆级详解,附源码——建议收藏

博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: Go语言核心编程近期目标:写好专栏的每一篇文章 学习了Go的基…

图神经网络:在自定义数据集上动手实现图神经网络

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 文章目录 自定义数据集动手实现图神经网络自定义数据集训验测集拆分,创建Data的数据结构,观察Data的基本信息,可视化图网…

震惊,为了学会泛型类竟做这种事?!

上一节,我们基本学会了Java泛型类的用法。 传送门:彻底弄懂Java的泛型 - 泛型类 这一节,我们转变一下风格,具体是什么风格呢,你马上就懂了。 宝子们,欢迎大家来到我们的泛型直播间,这一讲呢&a…

Ansible的脚本-playbook 剧本

目录 1.剧本(playbook) 1.playbook介绍 2. playbooks 的组成 3.案例:编写httpd的playbook 4.定义、引用变量 5.指定远程主机sudo切换用户 6.when条件判断 7.迭代 2.playbook的模块 1.Templates 模块 2.tags 模块 3.Roles 模块 1.…

【Linux从入门到精通】vim的基本使用各种操作详解

文章目录 一、vim编辑器简单介绍 二、vim编辑器的四种模式 2、1 正常/普通/命令模式(Normal mode) 2、2 插入模式(Insert mode) 2、3 末行模式(last line mode) 三、命令模式的相关操作实例 3、1 光标的相关操作 3、2 文本操作 四、插入模式下的相关操作 五、末行模式下的相关操…

Java—JDK8新特性—函数式接口

目录 函数式接口 3.1 什么是函数式接口 3.2 functionalinterface注解 源码分析 3.3 Lambda表达式和函数式接口关系 3.4 使用函数式接口 函数式接口 3.1 什么是函数式接口 如果一个接口中只包含一个抽象方法,这个接口称为函数式接口 如果一个接口包含&#xff0…

K8S管理系统项目实战[API开发]-2

后端: gogin 后端代码地址GitHub - yunixiangfeng/k8s-platform: K8s管理系统后端: gogin 5、存储与配置 5.1 ConfigMap 5.2 Secret 5.3 PersistentVolumeClaims 6、工作流 6.1 流程设计 6.2 数据库操作(GORM) (1)初始化…
最新文章