Ping 检测工具
在线检测服务器或域名的网络连通性和延迟
输入 IP 地址或域名,点击「开始 Ping」测试网络连通性
什么是 Ping 测试?
Ping 测试用于检查目标主机是否能通过网络到达,并估算响应延迟。传统 Ping 会发送 ICMP Echo 请求并测量往返时间;在浏览器或 Web 环境中,由于不能直接使用 ICMP,可能会采用其他探测方式。Ping 适合网络排障、服务器监控、延迟比较、DNS 怀疑排查,以及判断问题更可能出在本地网络还是远端主机。需要注意的是,Ping 成功不代表网站、端口、数据库或登录流程一定可用;Ping 失败也不一定说明服务器宕机,因为防火墙和网络策略可能屏蔽 ICMP。结果应结合 DNS、路由、端口和应用层检查一起判断。
使用方法
使用方法
- 在「IP 地址 / 域名」字段输入目标服务器地址
- 选择 ping 次数(1-20 次),默认 4 次
- 点击「开始 Ping」按钮,等待测试完成
- 查看统计数据:丢包率、平均延迟、最小/最大延迟
- 查看每次 ping 的详细结果:状态、延迟、TTL
网络提示
- ping 失败并不一定代表网站无法访问,很多服务器会屏蔽 ICMP,但 HTTP 或 HTTPS 仍可正常使用。
- 排查网络问题时请对比多个目标,以便区分本地连接问题与单个主机不可达的情况。
使用场景
技术原理
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。本页只测量端到端延迟。