DNS 1 API 端点 8 主要功能

DNS安全分析器

您的域名安全吗?我们的DNS安全API分析SPF、DKIM、DMARC、DNSSEC和CAA记录,为您提供综合安全评分和可操作建议。

分类 DNS
API 端点 1
主要功能 8
常见问题解答 4

被出色公司的人们使用

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel

集成前可见的信任信号

透明文档、已认证请求和清晰的可靠性信息,让你在上线前更容易评估 DomScan。

99.99% 可用性

面向生产的端点按 99.99% 可用性和已记录的状态处理方式设计。

OpenAPI API 资料

OpenAPI、Swagger、Postman、CLI、SDK 和 MCP 链接一键可达。

API 密钥 受保护访问

认证端点使用 API 密钥,并在调用前清楚显示积分成本。

10,000 免费额度

从每月 10,000 积分开始,只有在用量增长时再升级。

这个 API 可以帮你交付什么

把此页面当作生产集成简报:端点、示例、响应结构,以及把 DomScan 接入产品所需的工作流组件。

产品工作流

把域名检查、DNS 情报、风险信号或数据增强嵌入注册、搜索和内部工具。

分析自动化

用计划任务、告警和可复现的调查步骤替代重复的人工查询。

干净的 JSON 数据

使用可预测字段、已记录的状态码和积分成本,而不是抓取供应商页面。

AI 和运维工具

通过 OpenAPI、SDK、Postman 或 MCP 为代理、仪表板、SOAR 剧本和 CRM 提供数据。

集成流程

从第一次请求到可重复生产使用的简单路径。

1
一次认证

使用文档中的请求头发送 API 密钥,并在服务之间保持请求一致。

2
用示例查询

从 curl 和 HTTP 示例开始,再把参数映射到你的应用代码。

3
运行和监控

使用状态码、积分成本和响应字段构建重试、日志和告警。

开发者工具包

从此页面跳转到机器可读文档、请求集合、SDK 或代理工具。

参数和响应映射

在把端点接入客户端前,快速查看输入、输出字段和状态码。

请求参数

参数

domain
响应字段

响应示例

domainsecurity_scoresecurity_gradespfspf.existsspf.recordspf.validspf.policyspf.includesspf.dns_lookup_countspf.dns_lookup_limit_exceededspf.include_tree
状态覆盖

HTTP 状态码

200400402429500502503504

API 端点

GET /v1/dns/security
积分: 2身份验证: 可选
domain

集成前可见的信任信号

透明文档、已认证请求和清晰的可靠性信息,让你在上线前更容易评估 DomScan。

可用性 API 资料

OpenAPI、Swagger、Postman、CLI、SDK 和 MCP 链接一键可达。

API 密钥 受保护访问

认证端点使用 API 密钥,并在调用前清楚显示积分成本。

免费额度 免费注册

从每月 10,000 积分开始,只有在用量增长时再升级。

活跃 请求示例

从 curl 和 HTTP 示例开始,再把参数映射到你的应用代码。

主要功能

SPF分析

验证SPF记录并检查常见的错误配置。

DKIM检测

检查常见选择器的DKIM记录。

DMARC验证

分析DMARC策略、百分比和报告地址。

DNSSEC检查

验证DNSSEC是否启用并正确配置。

CAA记录

检查证书颁发机构授权配置。

安全评分

获取0-100的评分,包括字母等级(A+至F)。

可操作建议

关于如何改善安全态势的明确指导。

MTA-STS检测

检查邮件传输代理严格传输安全。

请求示例

GET /v1/dns/security bash
打开
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/security?domain=google.com"

响应示例

200 OK json
{
  "domain": "google.com",
  "security_score": 97,
  "security_grade": "A+",
  "spf": {
    "exists": true,
    "record": "v=spf1 include:_spf.google.com ~all",
    "valid": true,
    "policy": "softfail",
    "includes": [
      "_spf.google.com"
    ],
    "dns_lookup_count": 1,
    "dns_lookup_limit_exceeded": false,
    "include_tree": [
      {
        "domain": "_spf.google.com",
        "lookups": 1
      }
    ],
    "lookup_walk_count": 1,
    "macros_present": false,
    "macro_references": [],
    "walk": [
      {
        "domain": "google.com",
        "depth": 0,
        "record": "v=spf1 include:_spf.google.com ~all",
        "mechanisms": [
          "include:_spf.google.com",
          "~all"
        ],
        "includes": [
          "_spf.google.com"
        ],
        "redirect": null,
        "direct_lookup_count": 1,
        "total_lookup_count": 1,
        "macros_present": false,
        "macro_references": [],
        "multiple_records": 1
      }
    ],
    "walk_errors": [],
    "issues": []
  },
  "dkim": {
    "exists": true,
    "selectors_checked": [
      "google",
      "selector1",
      "selector2"
    ],
    "selectors_found": [
      "google"
    ],
    "valid": true
  },
  "dmarc": {
    "exists": true,
    "record": "v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com",
    "valid": true,
    "policy": "reject",
    "subdomain_policy": "reject",
    "percentage": 100,
    "rua": [
      "mailto:mailauth-reports@google.com"
    ],
    "ruf": [],
    "issues": []
  },
  "bimi": {
    "exists": true,
    "record": "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem",
    "logo_url": "https://example.com/logo.svg",
    "authority_url": "https://example.com/vmc.pem",
    "valid": true,
    "logo_fetch_ok": true,
    "logo_http_status": 200,
    "logo_content_type": "image/svg+xml",
    "logo_bytes": 2048,
    "logo_svg_detected": true,
    "vmc_present": true,
    "vmc_fetched": true,
    "vmc_http_status": 200,
    "vmc_content_type": "application/x-pem-file",
    "vmc_certificate_valid": true,
    "vmc_subject": "/CN=Example Inc VMC",
    "vmc_issuer": "/CN=Example Issuer",
    "vmc_not_before": "2026-01-01T00:00:00Z",
    "vmc_not_after": "2027-01-01T00:00:00Z",
    "vmc_days_to_expiry": 258,
    "vmc_fingerprint_sha256": "AA:BB:CC:DD",
    "vmc_san_domains": [
      "google.com"
    ],
    "errors": []
  },
  "dnssec": {
    "enabled": true,
    "valid": true,
    "algorithm": "ECDSAP256SHA256",
    "key_tag": 12345,
    "validation_status": "secure",
    "validated_by_proxy": true,
    "validation_reason": "chain validated via delv",
    "ds_records": [
      "12345 13 2 1a2b3c4d5e6f"
    ],
    "dnskey_records": [
      "256 3 13 AbCdEfGhIjKlMnOp"
    ],
    "rrsig_present": true,
    "resolver": "127.0.0.1"
  },
  "caa": {
    "exists": true,
    "records": [
      {
        "flags": 0,
        "tag": "issue",
        "value": "pki.goog"
      }
    ],
    "issuers": [
      "pki.goog"
    ],
    "issue_wild": [],
    "iodef": "mailto:security@google.com"
  },
  "issuance_readiness": {
    "caa": {
      "exists": true,
      "records": [
        {
          "flags": 0,
          "tag": "issue",
          "value": "pki.goog"
        },
        {
          "flags": 0,
          "tag": "iodef",
          "value": "mailto:security@google.com"
        }
      ],
      "issue_issuers": [
        "pki.goog"
      ],
      "issuewild_issuers": [],
      "iodef": "mailto:security@google.com",
      "letsencrypt_allowed": false,
      "google_trust_services_allowed": true
    },
    "http01": {
      "challenge_path": "/.well-known/acme-challenge/domscan-probe-1713474000",
      "reachable": true,
      "ready": true,
      "status_code": 404,
      "final_url": "http://google.com/.well-known/acme-challenge/domscan-probe-1713474000",
      "redirects": 0,
      "error": null
    },
    "checked_at": "2026-04-18T21:00:00Z"
  },
  "authoritative_consistency": {
    "record_type": "SOA",
    "all_authoritative": true,
    "answer_sets_match": true,
    "inconsistent_nameservers": [],
    "consistent_serial": true,
    "serials": [
      {
        "host": "ns1.google.com",
        "udp_soa_serial": "2026041801",
        "tcp_soa_serial": "2026041801"
      }
    ],
    "reference_answers": [
      "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
    ]
  },
  "delegation_health": {
    "nameservers": [
      {
        "host": "ns1.google.com",
        "addresses": [
          "216.239.32.10"
        ],
        "in_bailiwick": false,
        "glue_required": false,
        "udp": {
          "authoritative": true,
          "status": "NOERROR",
          "query_ms": 14,
          "answer_count": 1,
          "answers": [
            "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
          ],
          "soa_serial": "2026041801",
          "truncated": false,
          "error": null
        },
        "tcp": {
          "authoritative": true,
          "status": "NOERROR",
          "query_ms": 18,
          "answer_count": 1,
          "answers": [
            "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
          ],
          "soa_serial": "2026041801",
          "truncated": false,
          "error": null
        },
        "lame": false,
        "issues": []
      }
    ],
    "in_bailiwick_nameservers": [],
    "glue_required_count": 0,
    "all_in_bailiwick_resolve": true,
    "missing_addresses": [],
    "lame_nameservers": []
  },
  "dns_transport": {
    "udp_working": true,
    "tcp_working": true,
    "tcp_supported_nameservers": [
      "ns1.google.com"
    ],
    "tcp_failed_nameservers": [],
    "truncation_tested": true,
    "truncation_nameserver": "ns1.google.com",
    "truncation_record_type": "DNSKEY",
    "truncation_observed": false,
    "tcp_fallback_ready": null
  },
  "mta_sts": {
    "exists": true,
    "record": "v=STSv1; id=2024010101Z",
    "valid": true,
    "policy_id": "2024010101Z",
    "policy_fetch_ok": true,
    "policy_http_status": 200,
    "mode": "enforce",
    "max_age": 86400,
    "mx_hosts": [
      "*.google.com"
    ],
    "mx_records": [
      "aspmx.l.google.com",
      "alt1.aspmx.l.google.com"
    ],
    "policy_matches_mx": true,
    "uncovered_mx": [],
    "errors": []
  },
  "tls_rpt": {
    "exists": true,
    "record": "v=TLSRPTv1; rua=mailto:sts-reports@google.com",
    "valid": true,
    "rua": [
      "mailto:sts-reports@google.com"
    ],
    "errors": []
  },
  "resolver_latency": {
    "record_type": "MX",
    "resolvers": [
      {
        "resolver": "1.1.1.1",
        "label": "Cloudflare",
        "query_ms": 22,
        "status": "NOERROR",
        "answer_count": 5,
        "answers": [
          "aspmx.l.google.com"
        ],
        "server": "1.1.1.1#53",
        "error": null
      },
      {
        "resolver": "8.8.8.8",
        "label": "Google Public DNS",
        "query_ms": 3,
        "status": "NOERROR",
        "answer_count": 5,
        "answers": [
          "aspmx.l.google.com"
        ],
        "server": "8.8.8.8#53",
        "error": null
      }
    ],
    "min_ms": 3,
    "max_ms": 22,
    "avg_ms": 12.5
  },
  "zone_transfer": {
    "exposed": false,
    "nameservers": [
      {
        "host": "ns1.google.com",
        "exposed": false,
        "query_ms": 18,
        "records_returned": 0,
        "soa_seen": false,
        "reason": "transfer failed",
        "sample_records": []
      }
    ]
  },
  "blacklist": {
    "domain": "google.com",
    "listed": false,
    "threat_level": "none",
    "check_type": "domain",
    "checked_at": "2026-04-18T21:00:00Z"
  },
  "recommendations": [],
  "checked_at": "2026-04-18T21:00:00Z",
  "check_duration_ms": 312
}

常见问题解答

什么是SPF、DKIM和DMARC?

SPF指定哪些服务器可以为您的域名发送电子邮件。DKIM为电子邮件添加数字签名。DMARC告诉接收服务器对SPF/DKIM检查失败的电子邮件做什么。它们一起防止电子邮件欺骗。

为什么DNS安全很重要?

适当的DNS安全可防止电子邮件欺骗(冒充您的网络钓鱼攻击)、改善电子邮件可递送性,并保护您的品牌声誉。

什么是好的安全评分?

85分以上(A或A+等级)表示出色的安全性。70-84分(B)很好。70分以下表示有很大的改进空间。

我如何改善我的DNS安全评分?

常见改进包括:添加带有-all的SPF记录、设置DKIM签名、实施带有quarantine/reject策略的DMARC、启用DNSSEC以及添加CAA记录。

相关工具和资源

HTTP 状态码

我们明确列出了客户端应处理的 HTTP 状态码,帮助你区分成功响应、认证问题、额度不足、速率限制、数据不存在以及上游故障。

成功 200

请求成功

请求错误 400

参数无效

需要付款 402

没有足够额度来执行此请求。

请求过多 429

超出速率限制

服务器错误 500

内部错误

网关错误 502

上游 RDAP 错误

服务不可用 503

上游服务不可用或正在临时限流。

网关超时 504

上游查询已超时。

免费分析DNS安全