Ping API

从本服务器对目标发送 ICMP Ping,返回每次的 TTL、延迟与丢包率;服务器不支持 ICMP 时自动改用 TCP 连接测延迟

数据来源:本服务器系统 ping 命令

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

ICMP Ping 延迟与丢包测试

GET /api/ping

请求参数

  • host(必填):域名或公网 IP;域名先解析为 IP 并检查,只 ping 公网地址,示例 1.1.1.1
  • count:发送次数,1~4,示例 4

返回字段

  • host(string):目标主机(ASCII 形式,中文域名为 punycode)或 IP
  • ip(string):实际 ping 的 IP(域名解析后的第一个地址)
  • count(number):请求的发送次数
  • format(string):测量方式:iputils(常见 Linux 发行版的 ping)、busybox(Alpine 等精简系统的 ping);tcp 表示服务器不支持 ICMP(如 Docker 精简镜像),改用 TCP 连接测的延迟,此时没有 TTL
  • port(number|null):format 为 tcp 时连接的端口(先试 443,连不上再试 80);ICMP Ping 时为 null
  • sent(number):实际发送的包数
  • received(number):收到回复的包数(不含重复包)
  • lossRate(number):丢包率(百分比,0~100,保留两位小数)
  • min(number|null):最小往返时间(毫秒);全部丢包时为 null
  • avg(number|null):平均往返时间(毫秒);全部丢包时为 null
  • max(number|null):最大往返时间(毫秒);全部丢包时为 null
  • results(array):每个包的结果,按序号排列;超时 2 秒未收到回复的记为失败
  • results[].seq(number):序号(从 1 开始;busybox 原始输出从 0 开始,已加 1)
  • results[].ok(boolean):是否收到回复
  • results[].ttl(number|null):回复包的 TTL(剩余跳数,可粗略估计经过的路由数);未收到回复或 format 为 tcp 时为 null
  • results[].ms(number|null):往返时间(毫秒);未收到回复时为 null