简介
tcping(Transmission Control Packet Internet Groper)命令使用TCP传输层协议,可以检测IP端口状态和查看ping值,即使服务器禁 ping 也可以通过 tcping 来监控服务器网络状态。如果没有通过服务器端口,则默认为80。
特点
- 在 ICMP 被阻止的环境中可作为 ping 的替代方案。
- 配合参数可以实现毫秒及网络探测
- 监控您的网络连接,确定数据包丢失情况。
- 分析网络的延迟,计算网络探测的最小、平均和最大延迟。
- 按 Enter 键打印连接统计信息,无需停止程序。
- 使用 -r 标志在预定数量的探测失败后重试主机名解析,适用于测试您的 DNS 负载均衡或全局服务器负载均衡(GSLB)。
- 强制使用 IPv4 或 IPv6。
- 显示最长的停机时间和正常运行时间以及持续时间。
- 监视和审计您的同行网络(SLA)。
- 在进行维护时计算您的网络的总正常运行时间或故障时间。
安装
源码地址:https://github.com/pouriyajamshidi/tcping
# tar -xvf tcping_Linux.tar.gz
# chmod +x tcping
# cp tcping /usr/local/bin
参数说明
- -4:仅使用IPv4。
- -6:仅使用IPv6。
- -I:接口名称或地址。
- -c:在完成指定数量的探测后停止,无论结果如何。默认情况下,不会应用限制。
- --db:将tcping输出存储到sqlite数据库的路径和文件名。
- -i:发送探测之间的间隔。允许使用小数点作为十进制分隔符的实数。默认为一秒。
- -j:以JSON格式输出。
- --pretty:在使用json输出格式时使用缩进。没有'-j'标志时无效。
- -r:在失败的探测次数达到指定数量后,重试解析目标主机名。例如,-r 10 表示在10次失败探测后重试。
- --show-failures-only:仅显示失败的探测。
- -t:等待响应的时间,单位为秒。允许使用实数。0表示无限超时。
- -u:检查更新并退出。
- -v:显示版本号。
使用案例
1、正常探测IP和端口
$ tcping www.baidu.com 80
TCPinging www.baidu.com on port 80
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=1 time=10.176 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=2 time=10.231 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=3 time=10.034 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=4 time=9.946 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=5 time=10.353 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=6 time=10.218 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=7 time=10.309 ms
^C
--- www.baidu.com (110.242.68.3) TCPing statistics ---
7 probes transmitted on port 80 | 7 received, 0.00% packet loss
successful probes: 7
unsuccessful probes: 0
last successful probe: 2024-05-10 10:19:56
last unsuccessful probe: Never failed
total uptime: 7 seconds
total downtime: 0.0 seconds
longest consecutive uptime: 7 seconds from 2024-05-10 10:19:50 to 2024-05-10 10:19:57
retried to resolve hostname 0 times
rtt min/avg/max: 9.946/10.181/10.353 ms
--------------------------------------
TCPing started at: 2024-05-10 10:19:50
TCPing ended at: 2024-05-10 10:19:57
duration (HH:MM:SS): 00:00:07
2、每0.1秒探测一次端口状况
$ tcping -i 0.1 www.baidu.com 80
TCPinging www.baidu.com on port 80
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=1 time=9.718 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=2 time=9.671 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=3 time=9.820 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=4 time=10.048 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=5 time=10.720 ms
Reply from www.baidu.com (110.242.68.3) on port 80 TCP_conn=6 time=10.175 ms
^C
--- www.baidu.com (110.242.68.3) TCPing statistics ---
9 probes transmitted on port 80 | 9 received, 0.00% packet loss
successful probes: 9
unsuccessful probes: 0
last successful probe: 2024-05-10 10:47:15
last unsuccessful probe: Never failed
total uptime: 0.9 seconds
total downtime: 0.0 seconds
longest consecutive uptime: 0.8 seconds from 2024-05-10 10:47:14 to 2024-05-10 10:47:15
retried to resolve hostname 0 times
rtt min/avg/max: 9.671/10.069/10.720 ms
TCPing started at: 2024-05-10 10:47:14
TCPing ended at: 2024-05-10 10:47:15
duration (HH:MM:SS): 00:00:00
注:上面执行得速度非常快,有些网站可能会认为是攻击,直接返回No reply
3、仅显示失败得探测结果
$ tcping -i 0.1 --show-failures-only www.baidu.com 80
TCPinging www.baidu.com on port 80
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=1
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=2
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=3
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=4
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=5
No reply from www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) on port 80 TCP_conn=6
--- www.baidu.com (2408:871a:2100:3:0:ff:b025:348d) TCPing statistics ---
19 probes transmitted on port 80 | 0 received, 100.00% packet loss
successful probes: 0
unsuccessful probes: 19
last successful probe: Never succeeded
last unsuccessful probe: 2024-05-10 10:54:12
total uptime: 0.0 seconds
total downtime: 2 seconds
longest consecutive downtime: 2 seconds from 2024-05-10 10:54:11 to 2024-05-10 10:54:12
retried to resolve hostname 0 times
--------------------------------------
TCPing started at: 2024-05-10 10:54:11
TCPing ended at: 2024-05-10 10:54:12
duration (HH:MM:SS): 00:00:01
- 如果一直探测失败回持续返回错误结果,值到执行ctrl + c命令退出
- 如果探测结果正常了,就不会再继续输出,直到再出现错误结果才输出,按回车键可以看到统计结果
- 本文固定链接: http://www.jiagou.cc/78/
- 转载请注明: 摘星怪 于 架构迷 发表