ToolAct工具行动

Ping 检测工具

在线检测服务器或域名的网络连通性和延迟

输入 IP 地址或域名,点击「开始 Ping」测试网络连通性

什么是 Ping 测试?

Ping 测试用于检查目标主机是否能通过网络到达,并估算响应延迟。传统 Ping 会发送 ICMP Echo 请求并测量往返时间;在浏览器或 Web 环境中,由于不能直接使用 ICMP,可能会采用其他探测方式。Ping 适合网络排障、服务器监控、延迟比较、DNS 怀疑排查,以及判断问题更可能出在本地网络还是远端主机。需要注意的是,Ping 成功不代表网站、端口、数据库或登录流程一定可用;Ping 失败也不一定说明服务器宕机,因为防火墙和网络策略可能屏蔽 ICMP。结果应结合 DNS、路由、端口和应用层检查一起判断。

使用方法

使用方法

  1. 在「IP 地址 / 域名」字段输入目标服务器地址
  2. 选择 ping 次数(1-20 次),默认 4 次
  3. 点击「开始 Ping」按钮,等待测试完成
  4. 查看统计数据:丢包率、平均延迟、最小/最大延迟
  5. 查看每次 ping 的详细结果:状态、延迟、TTL

网络提示

  • ping 失败并不一定代表网站无法访问,很多服务器会屏蔽 ICMP,但 HTTP 或 HTTPS 仍可正常使用。
  • 排查网络问题时请对比多个目标,以便区分本地连接问题与单个主机不可达的情况。

使用场景

从 ToolAct 后端测试目标可达性输入主机名或 IP,选择 1 到 20 次探测,执行带签名的后端 Ping 测试。只有你输入的单个主机或域名会被发送到网络接口,页面本身不会记录、存储或转发该目标到其他地方。结果会报告解析后的 IP、主机名、可达性、收发包数、丢包率以及最小、最大和平均延迟。
诊断丢包和延迟波动逐序号的表格显示每次探测的成功或失败、延迟、TTL 和错误信息——这正是服务间歇性不可达或平均延迟掩盖了个别失败时需要的信息。将正常的基线探测与有问题的探测进行对比,检查波动是否与 DNS TTL、BGP 路由变化或目标端的定时任务吻合。
在工单中分享 Ping 证据将结果复制为制表符分隔的摘要,包含总体统计和逐包详情。由于测试从服务端而非浏览器 JavaScript 运行,输出反映的是服务端网络可见性而非本地 ICMP 行为。将摘要附在托管商、CDN 或运营商工单中,方便对方将路由追踪与自己的边缘或对等数据进行关联。
对同一主机多次探测进行对比增加单个主机名或 IP 的探测次数,观察延迟在多次检查中是否稳定。逐包详情比单一平均值更容易发现间歇性失败、丢包和异常响应时间,也能揭示被平均值掩盖的抖动。
根据网络状况选择探测次数和策略快速可达性检查用 1 到 3 次探测,在不稳定链路或带宽饱和的上行链路上排查间歇性丢包时用 8 到 20 次。注意结果反映的是后端网络可见性,家庭路由器、VPN 或运营商级别的过滤不会出现在这次追踪中;如果怀疑某个特定跳点有问题,建议配合 traceroute 或 mtr 使用。

技术原理

Ping 工具从 ToolAct 后端服务器向目标主机发送探测包,测量可达性和往返延迟。传统 Ping 在 OSI 第三层使用 ICMP(Internet Control Message Protocol,RFC 792):源端发送一个包含序列号和负载的 ICMP Echo Request(Type 8, Code 0),目标端以 ICMP Echo Reply(Type 0, Code 0)回复。往返时间(RTT)是从发送请求到接收回复之间的间隔,以毫秒为单位。由于浏览器无法发送原始 ICMP 数据包(Socket API 不向 Web 内容暴露原始套接字),本工具通过后端 API 代理 Ping——服务端进程执行实际的 ICMP 交互,并将结果返回给浏览器。 IP 头中的 TTL(Time to Live)字段在每个路由器跳数处递减 1;当 TTL 降为 0 时,路由器丢弃数据包并返回 ICMP Time Exceeded(Type 11)消息。这是 traceroute 的工作原理,但在 Ping 测试中,初始 TTL 值可以揭示目标操作系统:Windows 默认为 128,Linux/macOS 默认为 64,网络设备通常为 255。用默认值减去收到的 TTL 即可得到到达目标的大致跳数。 丢包率计算公式为(发送包数 - 接收包数)/ 发送包数 × 100%。零丢包意味着所有探测在超时前返回;间歇性丢包可能表示拥塞、硬件故障、限速或目标/中间防火墙禁用了 ICMP。许多生产服务器和云提供商在边缘完全禁用 ICMP,因此 100% 丢包并不一定意味着主机宕机——可能只是 ICMP 被过滤了。该工具报告所有成功探测的最小、最大和平均延迟,这些数据共同反映抖动情况:平均值低但最大值高表示偶尔出现峰值波动,而最小/最大值一致则表示链路稳定。

  • ICMP Echo 机制(RFC 792):Echo Request(Type 8)携带 16 位标识符、16 位序列号和可选负载——Echo Reply(Type 0)回传相同的标识符和序列号,使发送方能够匹配请求和响应。
  • RTT 测量:往返时间是从请求发送到响应接收的挂钟时间,包括网络传播延迟、路由器排队和目标处理时间——低于 1ms 的值表示目标在同一局域网内,而 100ms 以上表示跨洲链路。
  • TTL 跳数推断:初始 TTL 值遵循操作系统惯例(Windows 128、Linux/macOS 64、网络设备 255);大致跳数 = 初始 TTL - 收到的 TTL——来自 Windows 主机的收到 TTL 为 117 表示大约经过 11 个路由器跳数。
  • 丢包率解读:在良好连接的链路上 <2% 的丢包属于正常;2-10% 表示拥塞或不稳定链路;>10% 表示严重问题——但防火墙或云提供商的 ICMP 过滤可能在主机正常的情况下产生虚假的 100% 丢包。
  • 延迟统计:N 次探测的最小值、最大值和算术平均值反映抖动——低平均值配合高最大值表示偶发拥塞;标准差(虽未显示但可从逐包表格计算)量化了离散程度。
  • 浏览器限制:JavaScript 无法发送原始 ICMP 数据包,因为 WebSocket、fetch 和 XMLHttpRequest API 都在应用层(TCP/TLS/HTTP)工作——该工具通过后端 API 代理 Ping,因此测量的延迟包含一次额外到 ToolAct 服务器的 HTTP 往返。
  • ICMP 限速:许多主机和路由器会应用 ICMP 限速(Linux 内核参数 net.ipv4.icmp_ratelimit,默认 1000ms)——发送探测的频率超过速率限制会导致人为丢包,并不反映实际网络状况。

示例

本地 DNS 服务器测试

Ping 8.8.8.8(Google DNS) → 平均延迟 15ms,丢包率 0% = 连接良好

游戏服务器选区

Ping game-server-us.example.com → 45ms,game-server-eu.example.com → 120ms → 选美服

网络故障排查

Ping 本地路由器:1ms,Ping 运营商网关:超时 → 问题出在运营商一侧

常见问题

浏览器中的 ping 是怎么工作的?

浏览器无法像系统 `ping` 命令那样发送 ICMP 回显报文。页面会向目标发起 HTTP(S) 请求并测量往返时间。结果是访问 Web 服务的真实延迟,包含 TCP 握手、TLS 和 HTTP 开销——通常比 ICMP ping 高。

为什么网页 ping 总比终端 `ping` 高?

ICMP 只有一次往返。HTTPS 在首次请求时会增加 TCP SYN/ACK 和 TLS 握手(约 3 次往返),再加上 HTTP 请求/响应。连接预热后,页面可能复用连接(HTTP/2 keep-alive),后续测量会接近真实 RTT。

可以 ping 任何主机吗?

只能 ping 在标准端口上响应 HTTPS 的主机。没有 Web 服务或屏蔽 CORS 的服务器可能会失败。云上托管的网站通常没问题;私有网络主机(10.x、192.168.x)只有在页面所在服务器能访问时才有效,不会经过你的本地网络。

会向目标泄露我的数据吗?

每次 ping 都是一次真实的 HTTP 请求。目标服务器会像处理普通访问一样记录它(你的 IP 和 User-Agent)。请勿对你不拥有的内部主机进行 ping,也不要高频 ping 到被识别为拒绝服务攻击的程度。

请求是否经过签名?

对我们后端的 ping 会通过签名代理转发,由代理对请求进行规范化处理——我们将测试转发出去,但不会把你的 IP 转发给目标。目标看到的是我们的后端,而不是你。

为什么结果会波动?

网络延迟会随拥塞、路由变化和目标服务器负载自然波动。多次采样下的稳定结果比单次测量更有意义;页面会报告最小、最大和平均值。

可以追踪路由吗?

不行——traceroute 需要操作原始 IP 数据包,浏览器做不到。请在命令行使用 mtr 或 traceroute。本页只测量端到端延迟。