宝塔面板博客官方技术博客
宝塔拨测

ping 通了端口不一定通:用宝塔拨测把 PING 和 TCP 分开测

主机 ping 得通,不代表端口能连上。用宝塔拨测(t.bt.cn)对同一个目标分别跑一次 PING 测速和 TCP 测速,就能看到「主机连通性」和「端口连通性」是两回事:PING 测的是主机通不通,TCP 测的是指定端口能不能建立连接,这两层互不影响。

下面用对 www.qq.com 的三次真实拨测(PING、TCP 443 端口、TCP 22 端口,2026-10-05 北京时间)演示,同一台主机怎么得出三种不同的结论。

PING 和 TCP,分工各是什么

宝塔官方文档(进行一次拨测并查看结果)对五种检测方式的分工写得很清楚,其中两条是:

要确认的问题 选择 关注点
主机是否可达、往返时延如何 PING 测速 丢包和往返时延
指定端口能否连接 TCP 测速 指定端口的连通情况

关键就在这个区别:PING 走的是 ICMP,主机内核直接回一个响应,不经过任何服务进程;TCP 测的是「能不能和某个端口建立连接」,需要这个端口上有服务在监听、而且防火墙放行了这个端口。所以一台主机可以做到「内核响应 PING,但某个端口上没有服务、或端口被防火墙拦掉」——于是「ping 通」和「端口通」就分开了。

实测一:PING,98.6% 成功

先对 www.qq.com 跑一次 PING 测速,结果如下:

指标 本次实测值
目标 www.qq.com(PING 测速)
节点 354 成功 / 359 选中(成功率 98.6%)
覆盖地区 59 个(大陆 31 个 + 港澳台及海外 28 个)
平均 RTT(中位数) 19.2 毫秒
平均 RTT(最快 / 最慢) 0.3 / 378.5 毫秒
丢包分布 0% 丢包 349 节点;25% 丢包 4 节点;75% 丢包 1 节点
抖动(中位数) 0.2 毫秒

354 个节点成功、349 个节点零丢包,说明 www.qq.com 这台主机在全国绝大多数地方都能被 ping 到,主机本身是活着的。

实测二:TCP 443 端口,99.7% 成功

再对 www.qq.com:443 跑一次 TCP 测速,测的是 HTTPS 端口能不能连:

指标 本次实测值
目标 www.qq.com:443(TCP 测速)
节点 358 成功 / 359 选中(成功率 99.7%)
覆盖地区 59 个(大陆 31 个 + 港澳台及海外 28 个)
连接耗时(中位数) 30.6 毫秒
连接耗时(p95 / 最快 / 最慢) 99.8 / 0.9 / 1259.1 毫秒

443 端口 358 个节点成功、成功率 99.7%,和 PING 的结论一致——主机通,HTTPS 端口也通,网站对外服务正常。

实测三:TCP 22 端口,只有 1.7% 成功

最后对 www.qq.com:22 跑一次 TCP 测速,测的是 SSH 端口:

指标 本次实测值
目标 www.qq.com:22(TCP 测速)
节点 6 成功 / 359 选中(成功率 1.7%)
成功节点来源 海外 4 个 + 港澳台 2 个
失败节点 353 个

同样的主机,换成 22 端口,结果立刻翻转:359 个选中节点里只有 6 个成功(成功率 1.7%),而且这 6 个全部来自海外和港澳台,大陆节点一个都没连上。失败节点的原因集中在 TCP_CONNECT_FAILED,主要为:i/o timeout 177 个、network is unreachable 151 个、connection refused 9 个、cannot assign requested address 12 个、no route to host 2 个。

三个结论同时成立,因为它们测的不是同一层

把三次结果放到一起看:

拨测方式 测什么 本次结论
PING www.qq.com 主机连通性 98.6% 成功,主机活着
TCP www.qq.com:443 HTTPS 端口 99.7% 成功,端口开放
TCP www.qq.com:22 SSH 端口 1.7% 成功,端口基本不通

同一个 www.qq.com,同时给出「主机通」「443 通」「22 不通」三种结论,并不矛盾——因为三次拨测测的是三个不同的层。主机 ping 得通只说明内核响应了 ICMP;22 端口不通说明 SSH 服务没有对公网开放、或被防火墙拦掉了,这和主机是否活着是两码事。

怎么用这两个拨测定位问题

遇到「服务连不上」,先用 PING 和 TCP 分开测,把问题定位到哪一层:

  1. PING 大量失败:主机本身失联,或服务器主动禁了 Ping(屏蔽 ICMP)。先查主机是否在线、是否禁 Ping。
  2. PING 通、TCP 端口不通:主机活着,是端口上的服务没起、或防火墙拦了这个端口。去目标服务器看服务监听状态和防火墙规则。
  3. PING 通、TCP 端口也通:主机和端口都没问题,问题在更上层,比如服务内部报错、DNS 解析错误,继续用网站测速或 DNS 测速排查。

宝塔官方文档也给了同样的提示:TCP 端口不通时,「结合目标服务器的监听和防火墙设置排查」。

本文数据采集于 2026-10-05(北京时间),来自宝塔拨测的匿名公开接口,只代表采集时刻的情况;拨测节点池和线路是动态的,跨天复测同一目标得到不同数字属正常现象。

常见问题

ping 通了为什么端口还是连不上?

因为 ping 和端口连接测的不是同一层。ping 走 ICMP,测的是主机内核能不能响应;端口连接走 TCP,需要端口上有服务在监听、且防火墙放行了这个端口。两者可以独立开关,所以「主机 ping 得通」不等于「某个端口能连上」。本文实测 www.qq.com:PING 98.6% 成功、22 端口只有 1.7% 成功,就是主机通但 SSH 端口不通的典型。

PING 拨测和 TCP 拨测分别测什么?

PING 测速回答「主机是否可达、往返时延如何」,关注丢包和往返时延;TCP 测速回答「指定端口能否连接」,关注指定端口的连通情况。宝塔官方文档把两者的分工写得很清楚:查主机通不通用 PING,查端口通不通用 TCP。

怎么用 PING 和 TCP 分清是主机失联还是服务没起来?

对同一目标分别跑一次 PING 和一次 TCP 端口拨测。PING 大量失败说明主机本身失联或被禁 Ping;PING 通但 TCP 端口不通,说明主机活着、是端口上的服务没起或防火墙拦了这个端口,问题出在服务或端口层而不是主机层。

为什么同一个网站 443 端口通、22 端口不通?

因为 443 是 HTTPS 默认端口,网站对外提供 HTTPS 服务就必须开放;22 是 SSH 端口,很多服务器出于安全会把 SSH 从公网关闭、只允许内网或特定来源访问。本文实测 www.qq.com:443 端口 99.7% 成功,22 端口只有 6 个海外/港澳台节点成功、大陆节点全部失败。

TCP 拨测失败原因里 connection refused 和 i/o timeout 有什么区别?

connection refused 表示目标端口明确拒绝了连接,常见于端口没有服务监听或防火墙主动拒绝;i/o timeout 表示连接请求发出去后在时限内没收到任何响应,常见于防火墙丢弃了连接请求。两者都指向「端口从外部连不上」,需要结合目标服务器的监听和防火墙设置排查。

PING 拨测的「平均 RTT」和 TCP 拨测的「连接耗时」是一回事吗?

不是。PING 的平均 RTT 是一个 ICMP 包发出去再收回来的往返时延,主机内核直接回,不含业务处理;TCP 的连接耗时是完成 TCP 连接建立所花的时间。两者都反映网络往返,但测的对象不同。本文实测 www.qq.com:PING 平均 RTT 中位数 19.2 毫秒,TCP 443 连接耗时中位数 30.6 毫秒。