首页 > 首页 > 基础理论 > 运维必会工具01:网络及端口探测工具 TCPing
2024
04-28

运维必会工具01:网络及端口探测工具 TCPing

简介

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命令退出
  • 如果探测结果正常了,就不会再继续输出,直到再出现错误结果才输出,按回车键可以看到统计结果
运维必会工具01:网络及端口探测工具 TCPing - 第1张  | 架构迷
最后编辑:
作者:摘星怪
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。