DNS и инфраструктура 1 Конечные точки 8 Ключевые возможности

API для Анализ безопасности DNS

Надлежащо ли защищен ваш домен? Наш API безопасности DNS анализирует SPF, DKIM, DMARC, DNSSEC и CAA-записи, чтобы дать вам комплексный балл безопасности с практическими рекомендациями.

Category DNS и инфраструктура
Конечные точки 1
Ключевые возможности 8
Заголовок 4

Используется сотрудниками известных компаний

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel

Сигналы доверия перед интеграцией

Прозрачная документация, аутентифицированные запросы и видимые сведения о надежности помогают оценить DomScan перед запуском.

Работает Статус сервиса

Перед интеграцией проверьте состояние сервиса в реальном времени и документированные ответы при сбоях.

OpenAPI API-артефакты

OpenAPI, Swagger, Postman, CLI, SDK и ссылки MCP доступны в один клик.

API-ключи Защищенный доступ

Аутентифицированные эндпоинты используют API-ключи с понятной стоимостью в кредитах до вызова.

10,000 Бесплатный лимит

Начните с 10 000 кредитов в месяц и обновляйтесь только при росте использования.

Что помогает запустить эта API

Используйте эту страницу как производственный бриф: конечные точки, примеры, форма ответа и элементы workflow для подключения DomScan к вашему продукту.

Продуктовые workflow

Встраивайте проверки доменов, DNS-интеллект, сигналы риска или обогащение в онбординг, поиск и внутренние инструменты.

Автоматизация аналитиков

Заменяйте повторяющиеся ручные проверки расписаниями, оповещениями и воспроизводимыми шагами расследования.

Чистые JSON-данные

Используйте предсказуемые поля, документированные коды состояния и стоимость в кредитах вместо scraping страниц провайдеров.

AI и ops-инструменты

Передавайте данные агентам, дашбордам, SOAR-плейбукам и CRM через OpenAPI, SDK, Postman или MCP.

Интеграционный workflow

Простой путь от первого запроса до повторяемого использования в продакшене.

1
Аутентифицируйтесь один раз

Передавайте API-ключ в документированном заголовке и сохраняйте единый формат запросов между сервисами.

2
Запрашивайте по примерам

Начните с примеров curl и HTTP, затем перенесите параметры в код приложения.

3
Эксплуатируйте и мониторьте

Используйте коды состояния, стоимость кредитов и поля ответа для retries, логов и alerts.

Набор разработчика

Переходите к машиночитаемой документации, коллекциям запросов, SDK или инструментам для агентов.

Карта параметров и ответа

Просмотрите входы, поля ответа и коды состояния перед подключением endpoint к клиенту.

Параметры запроса

Параметр

domain
Поля ответа

Пример ответа

domainsecurity_scoresecurity_gradespfspf.existsspf.recordspf.validspf.policyspf.includesspf.dns_lookup_countspf.dns_lookup_limit_exceededspf.include_tree
Покрытие статусов

Коды статуса HTTP

200400401402429

Конечные точки

GET /v1/dns/security
Кредиты: 3Аутентификация: Требуется аутентификация
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:[email protected]",
    "valid": true,
    "policy": "reject",
    "subdomain_policy": "reject",
    "percentage": 100,
    "rua": [
      "mailto:[email protected]"
    ],
    "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",
    "mismatch_detail": {
      "checked": true,
      "mismatch_detected": false,
      "reason": "chain validated via delv",
      "ds_record_count": 1,
      "dnskey_record_count": 1,
      "rrsig_present": true,
      "validation_status": "secure",
      "resolver": "127.0.0.1"
    }
  },
  "caa": {
    "exists": true,
    "records": [
      {
        "flags": 0,
        "tag": "issue",
        "value": "pki.goog"
      }
    ],
    "issuers": [
      "pki.goog"
    ],
    "issue_wild": [],
    "iodef": "mailto:[email protected]"
  },
  "issuance_readiness": {
    "caa": {
      "exists": true,
      "records": [
        {
          "flags": 0,
          "tag": "issue",
          "value": "pki.goog"
        },
        {
          "flags": 0,
          "tag": "iodef",
          "value": "mailto:[email protected]"
        }
      ],
      "issue_issuers": [
        "pki.goog"
      ],
      "issuewild_issuers": [],
      "iodef": "mailto:[email protected]",
      "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
  },
  "nameserver_drift": {
    "checked": true,
    "drift_detected": false,
    "public_nameservers": [
      "ns1.google.com"
    ],
    "authoritative_nameservers": [
      "ns1.google.com"
    ],
    "missing_from_authority": [],
    "extra_at_authority": [],
    "inconsistent_nameservers": [],
    "serial_mismatch_detected": false
  },
  "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:[email protected]",
    "valid": true,
    "rua": [
      "mailto:[email protected]"
    ],
    "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"
  },
  "edge_summary": {
    "relay_configured": true,
    "evidence_sources": [
      "dnssec_validate",
      "axfr_check",
      "dns_authority_health",
      "dns_latency",
      "issuance_readiness",
      "mail_policies",
      "bimi_audit",
      "spf_walk"
    ],
    "secure_dns_chain": true,
    "zone_transfer_exposed": false,
    "authoritative_consistency_ok": true,
    "nameserver_drift_detected": false,
    "lame_nameserver_count": 0,
    "tcp_fallback_ready": null,
    "avg_resolver_latency_ms": 12.5,
    "fastest_resolver": "Google Public DNS",
    "slowest_resolver": "Cloudflare",
    "issuance_http01_ready": true,
    "caa_restricts_issuers": true,
    "bimi_vmc_valid": true,
    "mta_sts_enforced": true,
    "tls_rpt_configured": true,
    "spf_lookup_limit_exceeded": false
  },
  "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?

Частые улучшения включают: добавление SPF-записей с -all, настройку подписания DKIM, внедрение DMARC с политикой quarantine/reject, включение DNSSEC и добавление CAA-записей.

Связанные инструменты и ресурсы

Коды статуса HTTP

Мы документируем HTTP-коды состояния, которые должен обрабатывать ваш клиент, чтобы различать успешные ответы, проблемы аутентификации, кредиты, лимиты запросов, отсутствующие данные и ошибки вышестоящих сервисов.

OK 200

Запрос выполнен успешно

Неверный запрос 400

Недопустимые параметры

Не авторизован 401

API-ключ или сессия отсутствует либо недействительна.

Требуется оплата 402

Недостаточно кредитов для выполнения этого запроса.

Слишком много запросов 429

Лимит скорости превышен

Анализируйте безопасность DNS бесплатно