PING是一种网络工具,用来测试数据包能否通过ICMP协议到到达目标主机,程序会按时间和成功响应的次数估算丢失数据包率。但是相较于ICMP协议,TCP则更为广泛的被大家熟知和使用。下面我们介绍一种新型的网络测试工具——TCPING。

TCPING是基于TCP协议的一种PING命令,用来测试数据包能否通过TCP协议到到达目标主机(其实就是抄上面的描述)。他又一大特点,就是可以监听某个端口的状态,在禁PING的时候,也可以检测网络连通率。闲话少说,开始教程:

*前提条件:
操作系统:CentOS6+/Debian7+/Ubuntu12+*
1、以root账户登陆,防止系统过于精简,先更新系统软件源 :

yum update -y
# CentOS系统 用这个
 
apt-get update -y
# Debian/Ubuntu系统 用这个

2、安装依赖,这里用到的是tcptraceroute和bc

yum install -y tcptraceroute bc
# CentOS系统 用这个
 
apt-get install -y tcptraceroute bc
# Debian/Ubuntu系统 用这个

3、安装TCPING:
注1)TCPING的软件包,使用的是©2002-2005 Richard van den Berg 的版本

1)切换目录到/usr/bin

cd /usr/bin
 
# 切换目录到/usr/bin

2)下载TCPING可执行文件

wget -O tcping https://soft.mengclaw.com/Bash/TCP-PING
 
# 下载TCP-PING可执行文件,并重命名为tcping

3)赋予执行权限

chmod +x tcping

# 赋予tcping执行权限

4、测试TCPING

[root@localhost bin]# tcping 8.8.8.8 53
# 通过TCP-PING 8.8.8.8 端口 53 
 
traceroute to 8.8.8.8 (8.8.8.8), 255 hops max, 60 byte packets
seq 0: tcp response from google-public-dns-a.google.com (8.8.8.8) <syn,ack>  1.723 ms
traceroute to 8.8.8.8 (8.8.8.8), 255 hops max, 60 byte packets
seq 1: tcp response from google-public-dns-a.google.com (8.8.8.8) <syn,ack>  8.850 ms
traceroute to 8.8.8.8 (8.8.8.8), 255 hops max, 60 byte packets

测试通过,现在就可以通过TCPING命令对指定域名/IP进行TCP协议的连通率测试。

附录1:用法详解:

# 用法:tcpping [-d] [-c] [-C] [-w sec] [-q num] [-x count] ipaddress [port]
# -d 在每个响应时间前,打印时间戳
# -c 以列表形式显示
# -C 输出类似于fping工具中-C选项的结果
# -w 等待时间(默认 3)
# -r 每N秒重试一次(默认 1)
# -x 限定测试总时长 (默认 无限)
 
# 实例:测试服务器到大陆TCP是否畅通
# 在这里,我们要用到百度官网的IP:119.75.217.109 以及他的TCP端口:80
 
执行结果:
[root@localhost ~]# tcping 119.75.217.109 80
 
traceroute to 119.75.217.109 (119.75.217.109), 255 hops max, 60 byte packets
seq 0: tcp response from 119.75.217.109 (119.75.217.109) <syn,ack>  174.357 ms
traceroute to 119.75.217.109 (119.75.217.109), 255 hops max, 60 byte packets
seq 1: tcp response from 119.75.217.109 (119.75.217.109) <syn,ack>  188.953 ms

文章来源萌爪