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

news2024/11/24 4:48:39

如何使用 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.coloradmin.cn/o/488975.html

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

相关文章

计算机专业基础知识

大纲分单元讲解计算机的发展、类型及其应用领域计算机技术的发展计算机应用领域 计算机中数据的表示、存储和处理计算机软、硬件系统的组成及主要技术指标计算机软、硬件系统的组成硬件系统软件系统系统软件应用软件 计算机的结构计算机主要性能指标 自我测试 大纲 计算机的发…

Window 10 环境下用 OpenVINO 2022.3部署yolov5 7.0

Window 10 环境下用 OpenVINO 2022.3部署yolov5_7.0 1 下载并解压 OpenVINO Runtime OpenVINO™ Runtime 2022.3 以压缩包 (OpenVINO Archives) 的形式提供。 下载地址: storage.openvinotoolkit.org 下载后解压到 C:\Intel\openvino_2022.3.0 配置环境&#xff…

【STL模版库】STL入门 {模版初阶:泛型编程,函数模版,类模版;STL简介:什么是STL,STL六大组件}

一、模版初阶 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) { int temp left; left right; right temp; } void Swap(double& left, double& right) { double temp left; left right; right temp; } void…

【Python习题集5】函数的设计

函数的设计 一、实验内容二、实验总结 一、实验内容 1.编写两个函数分别按单利和复利计算利息,根据本金、年利率、存款年限得到本息和和利息。调用这两个函数计算1000元在银行存3年,在年利率是6%的情况下,单利和复利分别获得的本息和和利息。…

【Java虚拟机】JVM垃圾回收器详解

1.什么是垃圾收集器 垃圾回收算法是内存回收的方法论,垃圾收集器则是内存回收的具体实现 目前Java规范中并没有对垃圾收集器的实现有任何规范 不同的厂商、不同的版本的虚拟机提供的垃圾收集器是不同的,主要讨论的是HotSpot虚拟机 不存在最厉害的垃圾…

【Java】内部类Object类

目录 1.内部类 1.1实例内部类 1.2静态内部类 1.3局部内部类 1.4匿名内部类 2.Object类 2.1getClass方法 2.2equals方法 2.3hashcode方法 1.内部类 定义:一个类定义在另一个类或一个方法的内部,前者称为内部类,后者称为外部类。 分…

JWT渗透与防御

JWT渗透与防御 什么是JWTJWT漏洞介绍工具使用 身份认证(Authentication)又称鉴权,是指通过一定的手段,完成对用户身份的确认。认证的方式:sessioncookie、JWT、Token session认证的局限性 session认证机制需要配合cookie才能实现。由于cookie…

238页9万字大数据治理与服务平台建设及数据服务实施方案(word)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 1 项目解决方案 1.1 建设类业务技术方案 1.1.1 业务需求分析 根据对招标要求的理解,建设业务需求主要包括如下几个方面: (1&#xff…

网站遭遇XSS注入如何排查及解决

首先要明白什么是XSS注入 存储型 XSS 的攻击步骤: 攻击者将恶意代码提交到目标网站的数据库中。用户打开目标网站时,网站服务端将恶意代码从数据库取出,拼接在 HTML 中返回给浏览器。用户浏览器接收到响应后解析执行,混在其中的…

Docker部署spring boot项目

在docker部署时首先要保证一般部署能够访问。 docker命令部署spring boot项目 目前主流的java框架为spring,软件包为jar包,只需以jar为基础构建容器环境。打包为jar后只需要jvm就可以运行,因此需要以jdk为镜像构建容器。 基于命令构建jdk环…

MySQL面试八股文:索引篇

索引的定义 索引是数据库中用来加速数据查询的一种数据结构。它可以将数据表中的某一列或多列进行排序,以便快速查找数据,减少数据库的扫描次数,提高查询速度。 索引的优缺点 索引的优点是可以大幅度提高数据查询的速度,尤其是…

( 数组和矩阵) 565. 数组嵌套 ——【Leetcode每日一题】

❓565. 数组嵌套 难度:中等 索引从 0 开始长度为N的数组 A,包含 0 到 N - 1 的所有整数。找到最大的集合 S并返回其大小,其中 S[i] {A[i], A[A[i]], A[A[A[i]]], ... } 且遵守以下的规则。 假设选择索引为 i 的元素 A[i] 为 S 的第一个元…

【Java|golang】1003. 检查替换后的词是否有效

给你一个字符串 s ,请你判断它是否 有效 。 字符串 s 有效 需要满足:假设开始有一个空字符串 t “” ,你可以执行 任意次 下述操作将 t 转换为 s : 将字符串 “abc” 插入到 t 中的任意位置。形式上,t 变为 tleft “…

【软考高项笔记】第1章 信息化发展1.3 现代化创新发展

1.3 现代化创新发展 1.3.1 农业农村现代化 采棉机,传感器检查温度湿度 乡村振兴战略 建设基础设施 发展智慧农业 建设数据乡村1.3.2 两化融合与智能制造(工业) 信息化 工业化 发展战略 坚持自主可控,安全高效,推进产业…

VESC操作入门——双轮毂电机控制和CAN通信

目录 一、VESC驱动轮毂电机1.1、硬件准备1.2、硬件接线1.3、校准电机1.4、主操作界面 二、CAN通信2.1、硬件连接2.2、代码说明2.3、发送指令 三、双轮毂电机3.1、校准第二个电机参数3.2、硬件连接3.3、CAN总线发送指令 四、把VESC做为USB转CAN模块 ODrive、VESC和SimpleFOC 教程…

【星戈瑞】Sulfo-Cyanine5 mal 磺酸跟水溶性生物标记试剂

水溶性Sulfo-Cyanine5 mal是一种用于生物标记和荧光成像的荧光染料。它的化学名称是Cyanine5 maleimide,分子式为C29H27ClN2O4S,分子量为576.05。Cyanine5 mal属于Cyanine染料家族,具有强烈的吸收和发射光谱,适用于生物分子的标记…

( 数组和矩阵) 769. 最多能完成排序的块 ——【Leetcode每日一题】

❓769. 最多能完成排序的块 难度:中等 给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后…

云服务器vCPU和CPU有什么区别?

云服务器的vCPU和物理服务器的CPU有什么区别?阿里云百科以阿里云服务器ECS为例, 阿里云服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理…

推荐算法实战项目:FNN 原理以及案例实战(附完整 Python 代码)

本文要介绍的是FNN模型,出自于张伟楠老师于2016年发表的论文《Deep Learning over Multi-field Categorical Data》。 论文提出了两种深度学习模型,分别叫做FNN(Factorisation Machine supported Neural Network)和SNN&#xff0…

如何利用 Kotlin 特性封装 DataStore

Jetpack DataStore是一种数据存储解决方案,由于使用了 Kotlin 协程或者 RxJava 以异步、一致的事务方式存储数据,用法相较于其它存储方案 (SharedPreferences、MMKV) 会更加特别,所以目前网上都没有什么比较好的 DataStore 封装。 个人了解了…