![]() | tcping跨平台的 TCP 端口 ping 程序 |
| |
仓库
https://github.com/pouriyajamshidi/tcping
文档https://github.com/pouriyajamshidi/tcping/blob/master/README.cn.md
简介
这是一个跨平台的 TCP 端口 ping 程序,灵感来自 Linux 的 ping 工具。此程序将向您指定的 IP 地址 或 主机名 发送 TCP 探测,并打印结果。它支持 IPv4 和 IPv6。
TCPING 对 成功 和 不成功 的探测使用不同的 TCP 序列号,因此当您查看结果并发现探测失败时,可以很容易地推断出到该点为止的总丢包数。
以下是 TCPING 的一些功能:
- 在
ICMP被阻止的环境中替代ping。 - 监控您的网络连接。
- 确定丢包率。
- 分析网络延迟。
- 计算网络探测的
最小、平均和最大延迟。 - 按下
Enter键即可打印连接统计信息,而无需停止程序。
- 使用
-r标志在预定次数的探测失败后重试主机名解析。适用于测试您的DNS负载均衡或全局服*器负载均衡器(GSLB)。
- 强制使用
IPv4或IPv6。 - 显示遇到的最长
停机时间和正常运行时间持续时间和时间。 - 监控和审计您的对等网络 (SLA)。
- 在进行维护时计算网络的总正常运行时间或停机时间。
- 提供彩色、纯文本、JSON、CSV 和 SQLite3 多种输出格式。

安装
Windows
WinGet 
bash
winget install pj.tcping1
Linux
.deb 包方式(Debian、Ubuntu等) 
下载.deb软件包
bash
wget https://github.com/pouriyajamshidi/tcping/releases/latest/download/tcping_amd64.deb -O /tmp/tcping.deb1
安装 .deb 包
bash
sudo apt install -y /tmp/tcping.deb1
手动安装 
bash
# 仅 amd64 平台,其他平台到自行替换url
curl -o tcping.tar.gz -L https://github.com/pouriyajamshidi/tcping/releases/latest/download/tcping-linux-amd64-static.tar.gz
# 解压
tar -xvf tcping.tar.gz
# 设置可执行权限
chmod +x tcping
# 移动到系统目录
mv tcping /usr/local/bin/
# 删除压缩包
rm tcping.tar.gz1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
bash
# 仅 amd64 平台,其他平台到自行替换url
URL="https://github.com/pouriyajamshidi/tcping/releases/latest/download/tcping-linux-amd64-static.tar.gz" \
&& curl -o tcping.tar.gz -L $URL \
&& tar -xvf tcping.tar.gz \
&& chmod +x tcping \
&& mv tcping /usr/local/bin/ \
&& rm tcping.tar.gz1
2
3
4
5
6
7
2
3
4
5
6
7
bash
# 仅 amd64 平台,其他平台到自行替换url
PROXYURL="https://fast.neuz.dev/" \
&& URL="${PROXYURL}https://github.com/pouriyajamshidi/tcping/releases/latest/download/tcping-linux-amd64-static.tar.gz" \
&& curl -o tcping.tar.gz -L $URL \
&& tar -xvf tcping.tar.gz \
&& chmod +x tcping \
&& mv tcping /usr/local/bin/ \
&& rm tcping.tar.gz1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Mac OS
Homebrew 
bash
brew install pouriyajamshidi/tap/tcping1
使用
示例
bash
tcping <HOST/IP> <PORT>
# 例如
tcping example.com 8008
# 指定 ipv4
tcping example.com 8008 -4
# 指定 ipv6
tcping example.com 8008 -6
# tcping 8次
tcping example.com 8008 -c 81
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
参数
| flags | 描述 |
|---|---|
-h | 显示帮助 |
-4 | 仅使用 IPv4 地址 |
-6 | 仅使用 IPv6 地址 |
-r | 在 <n> 次探测失败后重试解析目标主机名。例如,-r 10 表示在 10 次探测失败后重试 |
-c | 在 <n> 次探测后停止,无论结果如何。默认情况下,不应用限制 |
-t | 等待响应的时间(以秒为单位)。允许使用实数。0 表示无限超时 |
-D | 在探测输出中显示日期和时间。类似于 Linux 的 ping 工具,但更易于阅读 |
-i | 发送探测之间的间隔 |
-I | 用于发送探测的接口名称 |
--no-color | 输出不带颜色 |
--csv | 以 CSV 格式输出到指定的文件路径 |
-j | 以 JSON 格式输出 |
--pretty | 美化 JSON 输出 |
--db | 用于存储 tcping 输出到 sqlite 数据库的路径和文件名。例如 --db /tmp/tcping.db |
-v | 打印版本 |
-u | 检查更新 |
--show-failures-only | 仅显示探测失败,并省略打印探测成功消息 |
--show-source-address | 显示探测所用的来源IP地址及端口 |
