対象ユーザー
権限のあるテストや人によるレビューの代わりではなく、範囲を限定した受動検査でトリアージと調査を補強します。
プロダクト、目的、エンドポイントパス、APIトピックを試してください。
タイポスクワッティング脅威と、フィッシングやブランド悪用に使用される可能性のある類似ドメインを検出します。
権限のあるテストや人によるレビューの代わりではなく、範囲を限定した受動検査でトリアージと調査を補強します。
類似候補を生成し、ドメインステータスを確認するときに選びます。不明を安全とは扱いません。
タイポスクワッティング脅威と、フィッシングやブランド悪用に使用される可能性のある類似ドメインを検出します。
統合する前に、サポートされる操作、入力、出力、実行モード、レスポンス制限を確認してください。
2-18 認証が必要。正確な料金と項目ごとの料金については、操作リファレンスを確認してください。
文書化された操作を使って、公開証拠を収集、評価、補足、検証、比較、保護、監視します。
| パラメータ | タイプ | 必須 |
|---|---|---|
| domain | string | 必須 |
| check_registered |
boolean
デフォルト
false
|
オプション |
| limit |
integer
デフォルト
100
|
オプション |
| include_tld_swap |
boolean
デフォルト
true
|
オプション |
| フィールド | タイプ |
|---|---|
domain |
string |
name |
string |
tld |
string |
permutations_generated |
integer |
permutations_checked |
integer |
registered_typos[] |
object[] |
registered_typos[] |
object |
registered_typos[].classification |
object |
registered_typos[].classification.status |
string |
registered_typos[].classification.reason |
string |
registered_typos[].classification.evidence |
object |
registered_typos[].classification.evidence.source |
string |
registered_typos[].classification.evidence.method |
string |
registered_typos[].classification.evidence.observed_at |
string |
registered_typos[].classification.evidence.detail |
string |
registered_typos[].classification.checked_at |
string |
registered_typos[].domain |
string |
registered_typos[].name |
string |
registered_typos[].tld |
string |
registered_typos[].type |
string |
registered_typos[].risk |
string |
registered_typos[].description |
string |
registered_typos[].registered |
boolean |
registered_typos[].checked_at |
string |
available_typos |
integer |
unknown_typos |
integer |
risk_summary |
object |
risk_summary.critical |
integer |
risk_summary.high |
integer |
risk_summary.medium |
integer |
risk_summary.low |
integer |
threat_level |
string |
family_summary |
object |
family_summary.generated_by_type |
object |
family_summary.generated_by_risk |
object |
family_summary.registered_by_type |
object |
family_summary.registered_by_risk |
object |
family_summary.top_generated_family |
string | null |
family_summary.top_registered_family |
string | null |
family_summary.critical_or_high_generated_count |
integer |
family_summary.critical_or_high_registered_count |
integer |
family_summary.coverage_ratio |
number |
family_summary.checked_count |
integer |
family_summary.available_count |
integer |
family_summary.unknown_count |
integer |
family_summary.omitted_count |
integer |
family_summary.include_tld_swap |
boolean |
family_summary.requested_limit |
integer |
checked_at |
string |
check_duration_ms |
integer |
meta |
object |
meta.served_by |
string |
meta.cached |
boolean |
meta.query_time_ms |
integer |
meta.registration_check_requested |
boolean |
meta.registration_check_limit |
integer |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true"const response = await fetch("https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/typos?domain=google.com&check_registered=false&limit=25&include_tld_swap=true")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"domain": "google.com",
"name": "google",
"tld": "com",
"permutations_generated": 100,
"permutations_checked": 95,
"registered_typos": [
{
"domain": "gooogle.com",
"name": "gooogle",
"tld": "com",
"type": "repetition",
"risk": "high",
"description": "Repeated character",
"registered": true
},
{
"domain": "gogle.com",
"name": "gogle",
"tld": "com",
"type": "omission",
"risk": "critical",
"description": "Missing character",
"registered": true
}
],
"available_typos": 50,
"risk_summary": {
"critical": 2,
"high": 5,
"medium": 10,
"low": 28
},
"threat_level": "high",
"checked_at": "2024-01-15T12:00:00Z"
}
200 成功400 不正なリクエスト401 未認証402 支払いが必要429 リクエスト過多タイポスクワッティング検出のAPIリファレンスで、パラメーター、レスポンスフィールド、例、ステータスコード、サポートされる操作モードを確認できます。
不明または部分的な結果は、要求された証拠を完全には判定できなかったことを意味します。下流の判断では、結果の状態、信頼度、鮮度、制限を維持してください。
料金は操作と実行モードによって異なります。現在のクレジット料金、認証要件、項目ごとのルールについては、エンドポイントリファレンスを確認してください。
これらの企業の担当者に使われています