面向生产的端点按 99.99% 可用性和已记录的状态处理方式设计。
被出色公司的人们使用
集成前可见的信任信号
透明文档、已认证请求和清晰的可靠性信息,让你在上线前更容易评估 DomScan。
OpenAPI、Swagger、Postman、CLI、SDK 和 MCP 链接一键可达。
认证端点使用 API 密钥,并在调用前清楚显示积分成本。
从每月 10,000 积分开始,只有在用量增长时再升级。
这个 API 可以帮你交付什么
把此页面当作生产集成简报:端点、示例、响应结构,以及把 DomScan 接入产品所需的工作流组件。
把域名检查、DNS 情报、风险信号或数据增强嵌入注册、搜索和内部工具。
用计划任务、告警和可复现的调查步骤替代重复的人工查询。
使用可预测字段、已记录的状态码和积分成本,而不是抓取供应商页面。
通过 OpenAPI、SDK、Postman 或 MCP 为代理、仪表板、SOAR 剧本和 CRM 提供数据。
集成流程
从第一次请求到可重复生产使用的简单路径。
使用文档中的请求头发送 API 密钥,并在服务之间保持请求一致。
从 curl 和 HTTP 示例开始,再把参数映射到你的应用代码。
使用状态码、积分成本和响应字段构建重试、日志和告警。
开发者工具包
从此页面跳转到机器可读文档、请求集合、SDK 或代理工具。
参数和响应映射
在把端点接入客户端前,快速查看输入、输出字段和状态码。
参数
响应示例
HTTP 状态码
API 端点
/v1/dns/security
集成前可见的信任信号
透明文档、已认证请求和清晰的可靠性信息,让你在上线前更容易评估 DomScan。
OpenAPI、Swagger、Postman、CLI、SDK 和 MCP 链接一键可达。
认证端点使用 API 密钥,并在调用前清楚显示积分成本。
从每月 10,000 积分开始,只有在用量增长时再升级。
从 curl 和 HTTP 示例开始,再把参数映射到你的应用代码。
主要功能
验证SPF记录并检查常见的错误配置。
检查常见选择器的DKIM记录。
分析DMARC策略、百分比和报告地址。
验证DNSSEC是否启用并正确配置。
检查证书颁发机构授权配置。
获取0-100的评分,包括字母等级(A+至F)。
关于如何改善安全态势的明确指导。
检查邮件传输代理严格传输安全。
请求示例
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/security?domain=google.com"
响应示例
{
"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检查失败的电子邮件做什么。它们一起防止电子邮件欺骗。
适当的DNS安全可防止电子邮件欺骗(冒充您的网络钓鱼攻击)、改善电子邮件可递送性,并保护您的品牌声誉。
85分以上(A或A+等级)表示出色的安全性。70-84分(B)很好。70分以下表示有很大的改进空间。
常见改进包括:添加带有-all的SPF记录、设置DKIM签名、实施带有quarantine/reject策略的DMARC、启用DNSSEC以及添加CAA记录。
相关工具和资源
HTTP 状态码
我们明确列出了客户端应处理的 HTTP 状态码,帮助你区分成功响应、认证问题、额度不足、速率限制、数据不存在以及上游故障。
请求成功
参数无效
没有足够额度来执行此请求。
超出速率限制
内部错误
上游 RDAP 错误
上游服务不可用或正在临时限流。
上游查询已超时。
免费分析DNS安全