【Win】PsPing:深入网络性能测试与故障排查

news2024/11/25 4:25:57

在维护 Azure 虚拟机的过程中,可能会遇到一些网络连通性的问题。例如,当您尝试从个人 PC 上 ping 虚拟机的公网 IP 地址时,可能会发现出现 “Request time out” 的信息,导致无法 ping 通。这种情况的发生,通常是因为在 Azure 环境中,出于安全考虑,ICMP 包被设计为无法通过防火墙和负载均衡器。这就导致了传统的 ping 命令无法直接用于测试 Azure 中虚拟机和服务的连通性。

正是在这样的背景下,我首次接触到了 PsPing —— 一款强大的网络测试工具,由微软 Sysinternals 套件提供。PsPing 不仅继承了传统 ping 命令的功能,还扩展了 TCP ping、延迟测试和带宽测量等高级特性,使其成为解决 Azure 网络测试难题的理想选择。

下载安装

下载地址:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psping

  1. 下载完PSTools.zip包之后,放到任意本地磁盘(例:C:\Windows\PSTools )内,解压之后如下:
    在这里插入图片描述

  2. 将解压地址放到环境变量的PATH中
    在这里插入图片描述

  3. 使用CMD命令行工具,输入psping,可见psping四个主要功能的帮助命令,四个功能分别是ICMP Ping、TCP Ping、延迟测试、带宽测试。
    在这里插入图片描述

使用方法

  1. ICMP ping
    在这里插入图片描述
    命令 psping -n 10 -w 2 www.baidu.com 使用了 PsPing 工具的两个参数 -n-w 来对 www.baidu.com 进行网络测试。
    下面是该命令参数的详细解释:

    • -n 10:这个参数指定了 PsPing 将发送的 ECHO 请求的数量。在这个例子中,PsPing 将发送 10 个 ICMP 或 TCP 请求到目标主机。这个选项可以用来测试一定数量级的网络响应情况。

    • -w 2:这个参数后面跟的数字代表 “热身” 测试的数量,即在正式的测试之前进行的测试次数。热身测试有助于初始化网络连接,避免因连接建立时间导致的延迟测量不准确。在这个例子中,PsPing 会先发送 2 个热身请求,然后才开始计算测试结果。

    • www.baidu.com:这是 PsPing 测试的目标主机名。PsPing 将尝试解析这个域名到相应的 IP 地址,并对该地址执行指定数量的网络请求。

    总结来说,该命令将对 www.baidu.com 执行总共 12 次(10次正式测试 + 2次热身测试)的网络连通性测试,测试结果将基于这 10 次正式测试的数据生成。

  2. TCP ping
    在这里插入图片描述命令 psping -n 10 -w 2 www.baidu.com:443 使用 PsPing 工具对 www.baidu.com 网站的端口 443 执行特定的网络测试。下面是该命令各部分的详细解释:

    • -n 10:此参数指定 PsPing 将发送的 ECHO 请求或探针的数量。在这个例子中,PsPing 将向目标发送 10 个请求。这些请求可以是基于 ICMP 的(如果 ICMP 未被阻止)或者是 TCP 连接尝试(如果 ICMP 被阻止或未响应)。

    • -w 2:这个参数定义了在主要测试序列开始前的 “热身” 请求数量。热身可以帮助确保网络连接已经建立,并且任何网络设备都已经准备好处理即将到来的测试流量。在这个例子中,PsPing 将首先发送 2 个热身请求。

    • www.baidu.com:这是要进行网络测试的目标主机的域名。PsPing 将尝试解析这个域名到相应的 IP 地址。

    • :443:指定了目标端口号 443。端口 443 通常用于 HTTPS 连接,这意味着 PsPing 将尝试建立到 www.baidu.com 的安全 HTTP 服务端口的 TCP 连接。

    综上所述,该命令将向 www.baidu.com 的 HTTPS 端口 443 发送 12 次请求(包括 2 次热身请求和 10 次正式测试请求)。这些请求将用于测量到目标端口的网络延迟、检查连接稳定性以及评估目标端口的可达性。

    如果 ICMP 请求在网络中被阻止,PsPing 将使用 TCP 来执行测试。在这种情况下,PsPing 尝试与指定端口建立 TCP 连接,以此来模拟传统 ICMP ping 的功能。输出结果将提供关于每个请求的延迟时间,以及可能发生的错误或超时信息。

  3. 延迟分析

    1. 先用PSPING起一个服务
      在这里插入图片描述命令 psping -s 10.2.12.129:888 用于启动 PsPing 工具的服务器模式,其参数 -s 后面跟随的是指定的 IP 地址和端口号。下面是该命令各部分的详细解释:

      • -s:这个参数告诉 PsPing 以服务器模式运行。在服务器模式下,PsPing 将在指定的 IP 地址和端口上监听传入的连接请求,而不是主动发送请求到远程服务器。

      • 10.2.12.129:这是 PsPing 服务器模式下要监听的 IP 地址。您需要确保该地址是分配给运行 PsPing 的主机的接口上的一个有效 IP 地址。

      • :888:这是 PsPing 将在其上监听的端口号。端口 888 在这个上下文中被指定为 PsPing 将等待客户端连接的网络端口。

      综上所述,该命令将 PsPing 设置为在 IP 地址 10.2.12.129 的端口 888 上作为一个服务器,准备接受来自网络上其他 PsPing 客户端的连接请求。这可以用于进行延迟和带宽测试,而无需主动 ping 远程主机。

    2. 客户端访问
      在这里插入图片描述命令 psping -l 8k -n 10000 10.2.12.129:888 是 PsPing 工具的一个使用示例,它结合了几个不同的参数来执行网络性能测试。下面是该命令各部分的详细解释:

      • -l 8k:此参数指定了发送的每个数据包的大小。-l 后面跟随的 8k 表示每个数据包的大小为 8 kilobytes(千字节)。这是进行带宽测试或延迟测试时使用的负载大小。

      • -n 10000:此参数定义了要发送的请求或数据包的总数。在这个例子中,-n 10000 表示 PsPing 将发送 10,000 个数据包。

      • 10.2.12.129:888:这是目标服务器的 IP 地址和端口号。IP 地址 10.2.12.129 是测试将要发送数据包到的服务器的地址,而 :888 指定了服务器上用于接收这些数据包的端口。

  4. 带宽分析
    在这里插入图片描述命令 psping -b -l 8000k -n 10000 10.2.12.129:888 用于执行网络带宽测试,具体参数解释如下:

    • psping:这是启动 PsPing 工具的命令。

    • -b:此参数指示 PsPing 执行带宽测试。带宽测试会尝试衡量网络链路的最大传输速率。

    • -l 8000k:此参数指定了每个测试数据包的大小。-l 后面跟随的 8000k 表示每个数据包的大小为 8000 kilobytes(千字节),即 8 兆字节(MB)。这比一般的 ICMP ping 数据包大得多,因此可以用于测试网络在传输大量数据时的性能。

    • -n 10000:此参数定义了要发送的测试数据包的总数。在这个例子中,PsPing 将发送 10000 个大小为 8000k 的数据包。

    • 10.2.12.129:888:这是目标服务器的 IP 地址和端口号。IP 地址 10.2.12.129 是测试将要发送数据包到的服务器的地址,而 :888 指定了服务器上用于接收这些数据包的端口。

·图中返回结果显示:总共发了8个T,最大速度711.71 MB/s, 平均135.83 MB/s。

PSTools

PsTools 套件是免费的,常用于系统管理员和 IT 专业人员的工具箱中,用于执行各种系统管理和故障排除任务。这些工具可以在命令行环境下提供强大的功能,帮助用户处理日常的系统管理任务,如远程执行服务管理、监控进程活动、查询系统信息等。除了上面介绍的psping这个工具外,PSTools还包含以下功能:

psexec:在远程系统上执行程序,相当于远程运行命令提示符中的命令。
psfile:显示打开的文件及其拥有者,或者显示特定文件被哪些进程打开。
psgetsid:显示用户账户的 SID(安全标识符)。
psinfo:显示本地或远程系统的信息,如 CPU 类型、物理内存、操作系统版本等。
pskill:结束一个或多个正在运行的进程。
pslist:显示运行在远程系统上的进程列表。
psloggedon:显示当前登录到本地或远程 Windows 系统的用户。
psloglist:显示 Windows 事件日志中条目的摘要。
pspasswd:远程更改计算机的密码。
psservice:管理和查询 Windows 服务,包括启动、停止、暂停和继续服务。
psshutdown:关闭或重新启动远程系统。
pssuspend:挂起或恢复一个或多个在运行的进程。

参考

  • https://learn.microsoft.com/zh-cn/sysinternals/downloads/psping
  • https://learn.microsoft.com/zh-cn/sysinternals/downloads/pstools

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

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

相关文章

python基础之元组、集合和函数的定义与返回值

1.元祖 1.元祖的定义 元组的数据结构跟列表相似 特征:有序、 有序:有(索引/下标/index) 正序、反序标识符: ( ) 里面的元素是用英文格式的逗号分割开来关键字:tuple 列表和元组有什么区别? 元组…

Golang操作Redis

一. Redis介绍 1.1 简介 Redis是完全开源免费的,遵循BSD协议,是一个高性能的key-value数据库。 Redis与其它的key-value缓存产品有以下三个特点: Redis支持数据持久化,可以见内存中的数据报错在磁盘中,重启的时候可以…

OpenHarmony实战开发-按钮 (Button)

Button是按钮组件,通常用于响应用户的点击操作,其类型包括胶囊按钮、圆形按钮、普通按钮。Button做为容器使用时可以通过添加子组件实现包含文字、图片等元素的按钮。具体用法请参考Button。 创建按钮 Button通过调用接口来创建,接口调用有…

APISix如何配置gzip压缩、cache、跨域

网上查到的apisix的配置很多都很古老,要改配置文件。其实现在apisix都是使用插件方式实现各种配置,很方便。这里简单介绍下三个常用插件、gzip压缩、cache缓存和跨域插件。这里均使用apisix的Dashboard看板进行配置。 gzip压缩 1. 打开apisix看板&#…

Web-SpringBootWen

创建项目 后面因为报错,所以我把jdk修改成22,仅供参考。 定义类,创建方法 package com.start.springbootstart.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotati…

单细胞+RIP-seq项目文章| Cell ReportshnRNPU蛋白在小鼠精原干细胞池建立的关键作用

精原干细胞(SSCs)是负责精子发生的干细胞,具有自我更新和分化产生功能性精子的能力。SSCs的持续再生对于维持雄性生育力至关重要。然而,SSC池的发育起源尚不清楚。在哺乳动物中,SSCs源自名为 prospermatogonia&#xf…

基于JAVA实现的贪吃蛇小游戏

JAVA贪吃蛇小游戏实现: 贪吃蛇曾经在我们的童年给我们带来了很多乐趣。贪吃蛇这款游戏现在基本上没人玩了,甚至在新一代人的印象中都已毫无记忆了。。。但是,这款游戏可以在一定程度上锻炼自己的编程能力。 目前这个版本只是一个测试版本,所以…

AI:162-如何使用Python进行图像识别与处理深度学习与卷积神经网络的应用

本文收录于专栏:精通AI实战千例专栏合集 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮到大家。正在不断更新中~ 一.如何使用Python进行图像识别与处理…

在Windows 10中如何关闭BitLocker加密?这里提供详细步骤

序言 BitLocker加密将有助于保持卷或闪存驱动器处于安全模式。但是,如果你不再需要BitLocker加密,你可以在Windows 10计算机上轻松删除BitLocker加密。在这里,我们将向你展示在Windows 10上删除/禁用BitLocker驱动器加密的四种方法。 通过控…

Qt/C++音视频开发71-指定mjpeg/h264格式采集本地摄像头/存储文件到mp4/设备推流/采集推流

一、前言 用ffmpeg采集本地摄像头,如果不指定格式的话,默认小分辨率比如640x480使用rawvideo格式,大分辨率比如1280x720使用mjpeg格式,当然前提是这个摄像头设备要支持这些格式。目前市面上有一些厂家做的本地设备支持264格式&am…

1688获得店铺所有商品API接口技术解析与应用实践

在电商领域,快速获取店铺所有商品信息对于商家和开发者来说至关重要。1688作为国内领先的B2B电商平台,提供了丰富的API接口供开发者使用,其中获得店铺所有商品API接口是其中之一。本文将深入解析该API接口的技术实现,并探讨其在实…

嵌入式中全栈工程师是怎么样的?

这两天有小伙伴问我,如何才能做到嵌入式全栈?我用visio软件画了一张图,为大家讲解。 此图为博主认为的嵌入式全栈,从硬件到软件全套技术栈,我们“从下往上”讲解。 1、首先是需要有原理图库,可以自己画,也可以从别人那里拷贝。有了原理图库,就开始画原理图。画原理图需…

​「Python大数据」词频数据渲染词云图导出HTML

前言 本文主要介绍通过python实现数据聚类、脚本开发、办公自动化。词频数据渲染词云图导出HTML。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词词频数据渲染词云图将可视化结果保存到HTML文件中二、具体产出 三、执行脚本 python wordCloud.p…

基于模糊控制的电动汽车锂电池SOC主动均衡电路MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 模型在 Matlab/Simulink仿真平台中搭建16节电芯锂电池电路模型,主要针对电动车锂电池组SOC差异性,采用模糊控制算法动态调节均衡电流,以减少均衡时间和能量损耗。…

OpenStack 云平台管理

目录 一、案例分析 1.1、案例概述 1.2、案例前置知识点 1)关于浮动 IP 地址 2)关于快照 1.3、案例环境 1)本案例实验环境 2)案例需求 3)案例实现思路 二、案例实施 2.1、部署 OpenStack 2.2、创建…

WSL2无法ping通本地主机ip的解决办法

刚装完WSL2的Ubuntu子系统时,可能无法ping通本地主机的ip: WSL2系统ip: 本地主机ip: 在powershell里输入如下的命令: New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias &quo…

反映工业发展质量与效益的主要指标有哪些

我国经济已由高速增长阶段转向高质量发展阶段,这是新时代我国经济发展的基本特征。推动高质量发展,是保持经济持续健康发展的必然要求,是适应我国社会主要矛盾变化和全面建成小康社会、全面建设社会主义现代化国家的必然要求,是遵…

解决Gson转Map时数值int、long等转为Double

今天尝试使用Gson,发现转Map时数值都转成了Double,百度无果后,通过查看源码,尝试可以通过自定义对象转数值策略来解决,特地记录一下; Gson默认采取将数值转换到Double的策略ToNumberPolicy.DOUBLE&#xf…

mysql的多表查询和子查询

多表查询:查询数据时,需要使用多张表来查询 多表查询分类: 1.内连接查询 2.外连接查询 3.子查询 笛卡尔积: create table class (id int primary key auto_increment,name varchar(10) ); create table student (id int primar…

2024软件测试面试题总结

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 测试技术面试题 1、什么是兼容性测试?兼容性测试侧…