tcpping 安装及使用教程
常规我们多数使用 ping
命令来检查网络延时, ping
命令是基于ICMP的请求应答报文来测量网络延时情况。ICMP处在网络层协议层, 某些场景下, ICMP 容易被防火墙阻止, 这样场景下 ping
工具就无法使用了。这种场景下, 需要使用TCP/UDP协议来测试三层网络的延时状态。
我们可以使用 tcpping
来进行网络延迟的测量, tcpping
是使用TCP协议的三次握手利用半开连接技术实现.比如想远端的80端口建立连接, 会先发送一个 TCP SYN
包, 如果远端的80端口正常, 将回复 TCP ACK
包, 否则将响应 TCP RST
包。因此 tcpping
可以定时通过 发送 SYN
包, 接收 ACK
或 RST
包来计算到远程主机的访问延时(RTT)。
tcptraceroute
软件已经实现了半开连接技术,tcpping
依赖该软件来实现网络延迟的测量。
安装依赖
tcpping
是一个 shell
脚本, 依赖tcptraceroute
、 bc
软件包
Debian
apt -y install tcptraceroute bc
CentOS
yum -y install tcptraceroute bc
安装 tcpping
从tcpping
官网下载源码安装
$ wget http://www.vdberg.org/~richard/tcpping
$ sudo cp tcpping /usr/bin
$ sudo chmod 755 tcpping
命令使用教程
tcpping
帮助信息
tcpping
tcpping v1.7 Richard van den Berg <richard@vdberg.org>
Usage: tcpping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]
-d print timestamp before every result
-c print a columned result line
-C print in the same format as fping's -C option
-w wait time in seconds (defaults to 3)
-r repeat every n seconds (defaults to 1)
-x repeat n times (defaults to unlimited)
See also: man tcptraceroute
注意 tcpping
依赖 root
权限
你可以简单使用 tcpping
测量访问网站的延迟, 比如我们访问腾讯首页 www.qq.com
tcpping www.qq.com