DNS 劫持检测

dns-checkGET
GEThttps://v1.apizero.cn/api/dns-check

概述

通过 4 家公共 DoH(DNS over HTTPS)服务器并发查询同一域名,对比解析结果检测 DNS 是否被运营商劫持、终端 hosts 篡改或遭遇异常 GeoDNS 分流。 服务器列表: • AliDNS(阿里云 - 中国) • DNSPod(腾讯 - 中国) • 360 安全 DNS(中国) • Cloudflare(美国 - 在中国大陆服务器侧可能超时,会被标记为 timeout) 特性: • A + AAAA 记录同时查询(IPv4 / IPv6) • 提取 CNAME 链路(CDN 跳转可见) • TTL 信息汇总(缓存提示) • 智能风险分级算法:safe / safe_with_geodns / suspicious / hijack_likely / unknown • 支持各类输入:domain / https://domain / domain:port / domain/path(自动剥离)

调用约定

  • 网关 · https://v1.apizero.cn
  • 鉴权 · Authorization: Bearer <API Key>
  • 回包 · JSON {code, msg, data}。成功看 code === 0,不要只看 HTTP 200。
/aidocs/dns-check/raw.md
打开 Markdown

鉴权

匿名 QPS 2、日 50 次;登录后 QPS 5、日 200 次。一次请求会向 4 家 DoH 各发 2 条查询(A + AAAA),共 8 个并发 HTTPS 请求。

获取 API Key

请求头

Authorizationstring选填

推荐:Bearer <API Key>。兼容请求头 X-API-Key,以及 Query api_key / apikey / key(key 仅当值为 sk_live_/sk_test_/sk_stag_ 形态时生效)。匿名可不传,受每日免费额度限制。

请求参数

GET · QUERY STRING · https://v1.apizero.cn/api/dns-check?domain=domain

domain(域名)string必填

要检测的域名(如 baidu.com,自动剥离 http(s):// 协议头与路径,最长 253 字符)

返回结果

顶层固定为 code / msg / data。下表一般是 data 内字段。 code · msg · data · tips · request_id

domainstring

规范化后的域名(去协议、去路径、转小写)

inputstring

原始输入回显

exec_msinteger

总耗时(毫秒)

summaryobject

★ 综合判定(一眼看懂)

status_textstring

人类可读的状态描述

risk_levelstring

风险等级:safe / safe_with_geodns / suspicious / hijack_likely / unknown

risk_scoreinteger

安全评分 0~100(越高越安全;< 50 建议关注)

explainstring

判定依据说明

cname_chainstring[]

CNAME 链路(去重合并所有 DoH 返回的 CNAME)

success_countinteger

成功响应的 DoH 数量

total_countinteger

DoH 总数(固定 4)

unique_ipv4_countinteger

去重后的 IPv4 数量

unique_ipv6_countinteger

去重后的 IPv6 数量

unique_ipv4string[]

所有 DoH 返回 IPv4 的并集(去重)

unique_ipv6string[]

所有 DoH 返回 IPv6 的并集(去重)

serversarray

4 家 DoH 各自的明细

keystring

服务器 key:alidns / dnspod / china360 / cloudflare

namestring

展示名称

statusstring

状态:ok / timeout / failed / parse_error

errorstring

失败原因(status≠ok 时存在)

latency_msinteger

该服务器查询耗时(毫秒,A+AAAA 两次的最大值)

ipv4string[]

该服务器返回的 A 记录(去重)

ipv6string[]

该服务器返回的 AAAA 记录(去重)

cname_chainstring[]

该服务器返回的 CNAME 跳转链路(去重)

ttl_mininteger

该服务器返回的最小 TTL(秒;可作 DNS 缓存参考)

tipsstring

品牌提示(所有接口统一返回):极数本源 · https://apizero.cn

返回示例

{
  "code": 0,
  "msg": "成功",
  "data": {
    "domain": "taobao.com",
    "input": "https://www.taobao.com/page",
    "exec_ms": 312,
    "summary": {
      "status_text": "DNS 解析正常",
      "risk_level": "safe",
      "risk_score": 95,
      "explain": "4 家 DoH 全部相互验证通过,未检测到劫持迹象。",
      "cname_chain": [
        "www.taobao.com.danuoyi.tbcache.com"
      ],
      "success_count": 3,
      "total_count": 4,
      "unique_ipv4_count": 8,
      "unique_ipv6_count": 0
    },
    "unique_ipv4": [
      "59.82.121.163",
      "59.82.122.130",
      "59.82.122.140",
      "59.82.122.165",
      "59.82.43.234",
      "59.82.43.238",
      "59.82.43.239",
      "59.82.44.240"
    ],
    "unique_ipv6": [],
    "servers": [
      {
        "key": "alidns",
        "name": "AliDNS",
        "status": "ok",
        "error": null,
        "latency_ms": 105,
        "ipv4": [
          "59.82.121.163",
          "59.82.122.130",
          "..."
        ],
        "ipv6": [],
        "cname_chain": [
          "www.taobao.com.danuoyi.tbcache.com"
        ],
        "ttl_min": 60
      },
      {
        "key": "dnspod",
        "name": "DNSPod",
        "status": "ok",
        "latency_ms": 180,
        "ipv4": [
          "59.82.121.163",
          "..."
        ]
      },
      {
        "key": "china360",
        "name": "360",
        "status": "ok",
        "latency_ms": 117
      },
      {
        "key": "cloudflare",
        "name": "Cloudflare",
        "status": "timeout",
        "error": "Operation timed out after 6000 ms",
        "latency_ms": 6000
      }
    ]
  },
  "request_id": "mota...",
  "tips": "极数本源 · https://apizero.cn"
}

请求示例

示例都是服务端写法。Python / JavaScript 各有常规写法和官方库。

curl -sS -H "Authorization: Bearer YOUR_API_KEY" "https://v1.apizero.cn/api/dns-check?domain=%3Cdomain%3E"

错误码

先看业务 code。HTTP 也可能不是 200。

0200

成功

4000400

参数错误

4011401

API Key 无效

4013403

API Key 已暂停

4014403

当前 IP 不在 Key 白名单

4015401

此接口需要 API Key

4022402

余额不足

4029429

调用过快(QPS)

4030429

今日免费额度已用完

4040503

接口已下线

4041404

接口不存在

5000500

服务器内部错误

5020502

上游暂时不可用

5021502

上游返回格式异常

5030502

暂无可用节点

调用限制

计费模式
完全免费
QPS 限制
QPS 3
登录免费额度
2000 次(已认证)
匿名每日额度
50 次(无 API Key)
黄金会员
每天 50,000 次 · QPS 10
钻石会员
每天 100,000 次 · QPS 30
企业会员
每天 1,000,000 次 · QPS 120

购买套餐、看评价请走商城详情。 购买 / 调试

更新日志

  • 1.0.02026-05-06

    首次发布:4 家 DoH 并发(AliDNS / DNSPod / 360 / Cloudflare) 每家同时查询 A + AAAA + CNAME(共 8 个并发 HTTPS 请求) 智能风险分级:safe / safe_with_geodns / suspicious / hijack_likely / unknown 比源码增强:CNAME 链路 / IPv6 / TTL / 各服务器独立状态码