Geliştirici Referansı
Alt alan adı bulucu
Alan adı analizi için DomScan API: Hayır. Bu, eksiksizliği garanti edilmeyen pasif kapsamdır. Dahili adlar ve kaynak veri kümelerinde bulunmayan genel ana bilgisayarlar görünmez. DNS doğrulaması ek ad aramaz.
Alt alan adı bulucu
Hayır. Bu, eksiksizliği garanti edilmeyen pasif kapsamdır. Dahili adlar ve kaynak veri kümelerinde bulunmayan genel ana bilgisayarlar görünmez. DNS doğrulaması ek ad aramaz.
GET /v1/subdomains?domain=example.com&sources=ct kullanın. ct değeri uyumluluk işlem hattını seçer, her girdi ise gerçek kanıt kaynağını bildirir. Yalnızca önbellek isteklerindeki eksik sonuçlar 202, tüm kaynak hataları 503 döndürür. Her ikisinde de krediler iade edilir.
GET
/v1/subdomains
Sorgu Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
| domain gerekli | string | Alt alan adları bulunacak kök domain (ör. "github.com") |
| prefer_cache isteğe bağlı | boolean token | Yalnızca önbellekteki sonuçları sunar. Yeni veya eski önbellek yoksa API 202 döndürür, arka plan yenilemesini kuyruğa alır ve istek kredilerini iade eder. Kabul edilen değerler: true, false, 1, 0, yes ve no. Varsayılan: false. |
| sources isteğe bağlı | string | Uyumluluk seçicisi. Yalnızca ct kabul edilir. Bu değer pasif keşif işlem hattını başlatır, ancak her sonuç kanıtı sağlayan kaynağı bildirir: crtsh, crtname, hackertarget, threatminer, wayback veya certspotter. Eski önbellek kayıtları ct bildirebilir. |
| verify isteğe bağlı | boolean token | DNS denetimini yalnızca yanıt için seçilmiş adlarda yapar. Doğrulama yeni adlar keşfetmez. Kabul edilen değerler: true, false, 1, 0, yes ve no. Varsayılan: false. |
| include_wildcards isteğe bağlı | boolean token | Joker karakterli sertifika kanıtlarını ayrı bir wildcards dizisinde döndürür. Joker karakterler somut ana bilgisayar adı sonuçlarına karıştırılmaz. Kabul edilen değerler: true, false, 1, 0, yes ve no. Varsayılan: false. |
| limit isteğe bağlı | integer | Döndürülecek en fazla somut ana bilgisayar adı girdisi. 1 ile 2000 arasında bir tam sayı girin. Varsayılan: 500. |
Kullanım Alanları
- Saldırı yüzeyi haritalama ve güvenlik denetimleri
- Unutulmuş veya gölge BT olabilecek ana bilgisayar adlarını inceleme
- Edinim öncesi teknik durum tespiti
- Altyapının rekabet analizi
- Hata ödülü keşfi
Yanıt Alanları
| Alan | Açıklama |
|---|---|
subdomains[].name | Döndürülen ana bilgisayar adı. Kaynak apex değerini içeriyorsa apex de görünebilir. |
subdomains[].source | Açık kaynak etiketleriyle genel ana bilgisayar adı kanıtlarını inceleyin |
subdomains[].first_seen | CT destekli girdiler bulunan en erken sertifika not-before değerini bildirir. Pasif yedek girdiler null döndürebilir. |
subdomains[].verified | Yalnızca verify etkin olduğunda ve döndürülen ana bilgisayar adının DNS çözümlemesi başarılı olduğunda true değerini alır. Diğer durumlarda false. |
subdomains[].dns_records | Döndürülen ana bilgisayar adının isteğe bağlı doğrulamasından elde edilen A ve CNAME kayıtları veya null. Bu alan sonuca yeni ad eklemez. |
summary.total_found | Yanıt limiti uygulanmadan önce bulunan toplam somut ana bilgisayar adı girdisi. Kaynak apex değerini içeriyorsa apex de bu sayıya dahildir. |
summary.verified_count | İsteğe bağlı DNS doğrulaması sırasında çözümlenen döndürülmüş ana bilgisayar adlarının sayısı. |
HTTP Durum Kodları
| HTTP Durum Kodları | Açıklama |
|---|---|
200 OK | İstek başarılı |
202 Kabul edildi | Yalnızca önbellek kullanılan alt alan adı isteğinde önbellek ıskası arka plan yenilemesi için kabul edildi. Kredi alınmaz; Retry-After gecikmesinden sonra tekrar deneyin. |
400 Hatalı İstek | Geçersiz parametreler |
402 Ödeme Gerekli | Bu isteği çalıştırmak için yeterli krediniz yok. |
503 Hizmet Kullanılamıyor | Yukarı akış hizmeti kullanılamıyor veya geçici olarak hız sınırı uyguluyor. |
504 Ağ Geçidi Zaman Aşımı | Yukarı akış sorgusu zaman aşımına uğradı. |
Örnek İstek
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&sources=ct&include_wildcards=yes&limit=100"
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&sources=ct&verify=yes&limit=50"
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&prefer_cache=1"
import requests
domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})
response = domscan.get(
"https://domscan.net/v1/subdomains",
params={
"domain": "example.com",
"sources": "ct",
"verify": "yes",
"include_wildcards": "yes",
"limit": 100
}
)
data = response.json()
print(f"Returned {data['summary']['returned']} hostname entries")
print(f"Verified: {data['summary']['verified_count']}")
live_subs = [s for s in data['subdomains'] if s['verified']]
for sub in live_subs[:10]:
print(f" {sub['name']}")
const domscanFetch = (url, options = {}) =>
fetch(url, {
...options,
headers: { ...options.headers, "X-API-Key": "your-api-key" },
});
const response = await domscanFetch(
'https://domscan.net/v1/subdomains?' + new URLSearchParams({
domain: 'example.com',
sources: 'ct',
verify: 'yes',
include_wildcards: 'yes',
limit: '100'
})
);
const data = await response.json();
console.log(`Returned ${data.summary.returned} hostname entries`);
console.log(`Verified: ${data.summary.verified_count}`);
data.subdomains
.filter(s => s.verified)
.forEach(s => console.log(` ${s.name}`));
Örnek Yanıt
{
"domain": "example.com",
"subdomains": [
{
"name": "api.example.com",
"source": "crtsh",
"first_seen": "2025-01-15T00:00:00Z",
"verified": true,
"dns_records": {
"A": ["192.0.2.10"],
"CNAME": null
}
}
],
"wildcards": [
{
"pattern": "*.example.com",
"source": "crtsh",
"first_seen": "2024-11-20T00:00:00Z"
}
],
"summary": {
"total_found": 1,
"returned": 1,
"verified_count": 1,
"unverified_count": 0,
"sources_used": ["crtsh"],
"apex_included": false,
"wildcard_suppressed_count": 1,
"wildcard_returned_count": 1
},
"intelligence_summary": {
"data_sources": ["crtsh"],
"source_count": 1,
"cache_status": "live",
"returned_count": 1,
"total_found": 1,
"truncated": false,
"limit": 100,
"verification_requested": true,
"include_wildcards": true,
"verified_count": 1,
"verified_ratio": 1,
"live_dns_record_count": 1,
"apex_included": false,
"wildcard_suppressed_count": 1,
"wildcard_returned_count": 1,
"first_seen_oldest": "2025-01-15T00:00:00Z",
"first_seen_newest": "2025-01-15T00:00:00Z",
"warning_count": 0
},
"meta": {
"query_time_ms": 184,
"cached": false
}
}
202 Kabul edildi
{
"status": "pending",
"code": "CACHE_MISS_REFRESH_QUEUED",
"message": "Try again in a moment",
"domain": "example.com",
"retry_after": 30,
"credits_charged": 0,
"billing_status": "not_charged",
"request_id": "m8abc12-x9y8"
}
POST
/v1/subdomains/bulk
Gövde Parametreleri
| Parametre | Tür | gerekli |
|---|---|---|
| domains | string[] | gerekli |
| verify |
boolean
Varsayılan
false
|
isteğe bağlı |
| include_wildcards |
boolean
Varsayılan
false
|
isteğe bağlı |
| limit |
integer
Varsayılan
500
|
isteğe bağlı |
Yanıt Alanları
| Alan | Tür |
|---|---|
results[] |
unknown[] |
meta |
object |
meta.total |
integer |
meta.succeeded |
integer |
meta.failed |
integer |
meta.max_items |
integer |
meta.credits_per_item |
integer |
meta.duration_ms |
integer |
Örnek İstek
curl -X POST "https://domscan.net/v1/subdomains/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"domains": [
"example.com",
"cloudflare.com"
],
"verify": false,
"limit": 500
}'
Örnek Yanıt
{
"results": [
null
],
"meta": {
"total": 1,
"succeeded": 1,
"failed": 1,
"max_items": 10,
"credits_per_item": 1,
"duration_ms": 1
}
}