IP 信誉查询 API

查询公网 IP 是否被垃圾邮件 / 攻击黑名单(DNSBL)列入、是否机房 IP、PTR 反向解析,并给出参考风险评分

数据来源:公开 DNSBL 黑名单、ip-api.com、DNS 反向解析

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

IP 信誉:DNSBL 黑名单、机房判断、PTR 与参考风险评分

GET /api/ip/reputation

请求参数

  • ip(必填):公网 IPv4 或 IPv6 地址(IPv6 只查归属与 PTR,暂不查黑名单);不接受内网和保留地址,示例 8.8.8.8
  • spamhaus:是否同时查询 Spamhaus ZEN:true / false。Spamhaus 拒绝来自公共 DNS 的查询,服务器使用公共 DNS 时会显示为 unavailable,示例 false

返回字段

  • ip(string):查询的 IP(IPv4 映射的 IPv6 地址已还原为 IPv4)
  • version(number):IP 版本:4 或 6
  • riskScore(number):参考风险分 0~100,越高风险越大:每个列入的黑名单加 20~35 分(黑名单合计最多 70,只命中 Spamhaus PBL 加 5)、机房 IP 加 20、没有 PTR 加 10。仅供参考
  • level(string):风险等级:低(0~29)/ 中(30~59)/ 高(60~100)
  • reasons(array):每一项加分原因;没有任何风险项时为空数组
  • reasons[].rule(string):规则:dnsbl 被黑名单列入 / dnsbl-cap 黑名单封顶调整(负分)/ datacenter 机房 IP / no-ptr 没有反向解析
  • reasons[].points(number):该项分数(dnsbl-cap 为负数)
  • reasons[].desc(string):中文说明
  • dnsbl(object):DNSBL 黑名单查询结果(每个列表超时 3 秒)
  • dnsbl.checked(number):成功得出结论(列入或未列入)的列表数
  • dnsbl.listed(number):列入该 IP 的列表数
  • dnsbl.unavailable(number):无法查询(被拒绝、超时、出错)的列表数
  • dnsbl.lists(array):每个黑名单的结果
  • dnsbl.lists[].zone(string):黑名单 DNS 区域,如 bl.spamcop.net
  • dnsbl.lists[].name(string):黑名单名称
  • dnsbl.lists[].status(string):listed 已列入 / clean 未列入 / unavailable 查询被拒绝(如 Spamhaus 返回 127.255.255.254)/ error 超时或出错 / skipped 未查询(IPv6)
  • dnsbl.lists[].codes(array):黑名单返回的 A 记录(返回码,如 127.0.0.2);未列入时为空数组
  • dnsbl.lists[].meanings(array):每个返回码的中文含义(如 DroneBL 的 127.0.0.9 表示 HTTP 代理)
  • dnsbl.lists[].ms(number):查询耗时(毫秒)
  • dnsbl.lists[].error(string|null):无法查询或出错的原因;正常时为 null
  • network(object):IP 所属网络(与 /api/ip 相同数据源;为取得 ASN 总会请求 ip-api.com,失败时退回本地 ip2region 离线库的地名与运营商)
  • network.asn(string|null):自治系统编号与名称,如 "AS15169 Google LLC";查询失败时为 null
  • network.isp(string|null):运营商 / ISP 名称
  • network.org(string|null):所属组织
  • network.country(string|null):国家(中文)
  • network.location(string|null):归属地(国家 省 市)
  • network.datacenter(boolean):是否判断为机房 / 云服务商 IP:按 ASN、ISP、组织名(及含 vps / server / cloud 等字样的 PTR)匹配 Amazon、Google Cloud、阿里云、腾讯云、DigitalOcean、OVH、Hetzner、Vultr、Linode 等关键词,可能漏判或误判
  • network.provider(string|null):匹配到的服务商名称;不是机房 IP 时为 null
  • network.error(string|null):归属查询失败的原因(此时 asn 等为 null,机房判断只能依据 PTR);成功时为 null
  • ptr(object):PTR 反向解析