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:用法详解:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 用法: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

 

作者 灰武士