Linux使用PaPing进行TCP端口连通性/网络平均延迟探测
1. 背景阐述
通常,我们测试数据包能否通过 IP 协议到达特定主机时,都习惯使用 ping 命令。工作时 ping 向目标主机发送一个 IMCP Echo 请求的数据包,并等待接收 Echo 响应数据包,通过响应时间和成功响应的次数来估算丢包率和网络时延。但是如果ICMP 包无法通过防火墙或者特殊调度线路时,我们该如何探测(S)源服务器到(D)目标服务器之间的线路网络质量呢?
一般我们可以使用PsPing 或 PaPing两种工具。PsPing 是微软 PSTools 工具套件中的其中一个命令。除了ICMP ping 测试,它主要用来测试 TCP 端口的连通性,还可以测试 TCP/UDP 网络时延和带宽。不过, PsPing 只能在 Windows 中运行。如果您需要在 Linux 中发起 TCP 端口连通性和网路时延的测试,可以使用 PaPing 。PaPing 是一个跨平台的开源工具。它的功能相对 PsPing 而言更简单,只支持 TCP 端口的相关测试,不支持 UDP 端口的测试。
我们以UCloud GlobalSSH主机远程管理加速产品为例进行测试,下面让我们来看看GlobalSSH的架构图:
(1)由于跨国访问,受国际互联网线路的波动影响,会出现访问速度慢、大延迟或者严重丢包等情况,所以我们时常在国内打开国外的网站都很慢,体验极差。
(2)GlobalSSH加速域名(ip地址.ipssh.net)通过DNS调度,将用户访问海外云主机的请求链路,调度到UCloud大陆数据中心,然后通过UCloud大陆与海外数据中心之间的物理专线,进行转发,保障跨国访问链路的稳定性。
(3)由于GlobalSSH加速域名解析出来的IP地址是UCloud大陆数据中心的入口IP,所以通过ping测无法探测使用GlobalSSH之后,大陆访问海外云主机的网络链路质量情况。那么我们这里就可以使用PaPing进行测试。
2. PaPing参数解读
参数 | 说明 |
---|---|
-p,–port N | TCP端口号(必须) |
–nocolor | 屏蔽彩色输出 |
-t, --timeout N | 设定超时时长(ms),默认值1000 |
-c, --count N | 指定测试次数 |
3. PaPing网络质量探测
#国内探测国外云主机,走国际互联网线路:
[root@ansible ~]# ./paping -p 22 107.155.48.73 -c 5
#国内探测国外云主机,走GlobalSSH加速线路:
[root@ansible ~]# ./paping -p 1622 107.155.48.73.ipssh.net -c 5
#带时间戳实时输出链路质量情况
[root@ansible ~]# ./paping -p 80 baidu.com -c 6 | awk '{print strftime("%Y-%m-%d %H:%M:%S",systime())"\t"$0}'
PaPing工具包下载:1-210403135302453.gz
作者:UStarGao
链接:https://www.starcto.com/nettool/120.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2021-08-01MySQL主从同步之半同步复制
- 2021-05-21第三方常用工具收录
- 2023-01-31UCloud MySQL innodbackup物理备份还原到本地
- 2023-08-12Windows Server快速关闭自动更新功能
- 2021-03-20Docker应用程序数据管理与持久化