背景
通常,我们测试数据包能否通过 IP 协议到达特定主机时,都习惯使用 ping 命令。工作时 ping 向目标主机发送一个 IMCP Echo 请求的数据包,并等待接收 Echo 响应数据包,通过响应时间和成功响应的次数来估算丢包率和网络时延。但是如果ICMP 包无法通过防火墙和负载均衡器,就直接使用 ping 来测试 服务器机和服务的连通性。
一般我们可以使用PsPing 或 PaPing两种工具。PsPing 是微软 PSTools 工具套件中的其中一个命令。除了ICMP ping 测试,它主要用来测试 TCP 端口的连通性,还可以测试 TCP/UDP 网络时延和带宽。不过, PsPing 只能在 Windows 中运行。如果您需要在 Linux 中发起 TCP 端口连通性和网路时延的测试,可以使用 PaPing 。PaPing 是一个跨平台的开源工具。它的功能相对 PsPing 而言更简单,只支持 TCP 端口的相关测试,不支持 UDP 端口的测试。
使用
下载:
32 位 Linux 对应的压缩包为 paping_1.5.5_x86_linux.tar.gz
64 位 Linux 对应的压缩包为 paping_1.5.5_x86-64_linux.tar.gz。
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/paping/paping_1.5.5_x86-64_linux.tar.gz
如果无法下载可使用下面这个链接
wget https://azuresupport.blob.core.chinacloudapi.cn/tools/paping_1.5.5_x86-64_linux.tar.gz
下载完后直接解压缩 能够得到可执行文件 paping
tar zxvf paping_1.5.5_x86-64_linux.tar.gz
执行:
paping可选参数
参数 | 说明 |
---|---|
-p,–port N | TCP端口号(必须) |
–nocolor | 屏蔽彩色输出 |
-t, --timeout N | 设定超时时长(ms),默认值1000 |
-c, --count N | 指定测试次数 |
执行
./paping -p 80 www.csdn.net -c 10
测试10次 最后可以得到统计结果 成功失败次数 以及最小/最大/平均延时
如果需要实时执行输出连通测试日志方便日后查看
前头价格时间 放在后台执行
./paping -p 80 www.csdn.net | awk '{print strftime("%Y-%m-%d %H:%M:%S",systime())"\t"$0}' >>paping.log &
打开日志就可以查看各个时间点的连接状况了