API dns.ro

Toate instrumentele sunt disponibile si programatic, prin endpointuri JSON simple, inclusiv analizele de securitate. Fara autentificare, cu limita de 20 cereri pe minut per IP.

Diagnostic DNS complet

Ruleaza toate cele 10 categorii de verificari (nameservere, SOA, structura zonei, web, MX, SPF, DKIM, DMARC, DNSSEC, blacklist) si returneaza raportul complet cu scor.

GET/api.php
Parametri
domainobligatoriuDomeniul de analizat (accepta si URL complet, este normalizat automat)
modeoptionalfull (implicit) sau email — doar sectiunile MX, SPF, DKIM, DMARC, blacklist
selectoroptionalSelector DKIM suplimentar, incercat inaintea celor comuni
Exemplu
curl "https://dns.ro/api.php?domain=exemplu.ro"
Raspuns (fragment)
{ "domain": "exemplu.ro", "analyzed_at": "2026-07-03T14:32:00+03:00", "duration_ms": 9214, "score": 73, "counts": { "ok": 21, "warn": 5, "err": 2 }, "sections": [ { "id": "ns", "title": "Nameservere", "status": "ok", "checks": [ { "status": "ok", "title": "Minimum 2 nameservere delegate", "desc": "Domeniul are 2 nameservere: ...", "fix": null, "record": null } ] } ] }
Coduri de raspuns
200Raport generat cu succes
400Domeniu invalid sau parametru lipsa
429Limita de cereri depasita (20/min per IP)
500Eroare interna

Verificare email

Raport dedicat livrabilitatii: MX si reverse DNS, SPF cu numararea lookup-urilor, DKIM cu detectare automata de selectori, DMARC si blacklist. Acelasi format de raspuns ca diagnosticul complet.

GET/api.php?mode=email
Exemplu
curl "https://dns.ro/api.php?domain=exemplu.ro&mode=email&selector=mail2026"

Propagare DNS

Interogheaza 8 resolvere publice globale si compara raspunsurile. Statusul fiecarui resolver este calculat fata de valoarea majoritara: ok (identic), warn (diferit), err (fara raspuns).

GET/propagare.php
Parametri
domainobligatoriuDomeniul de verificat
typeoptionalA (implicit), AAAA, MX, TXT, NS, CNAME
Exemplu
curl "https://dns.ro/propagare.php?domain=exemplu.ro&type=MX"
Raspuns (fragment)
{ "domain": "exemplu.ro", "type": "MX", "synced": 8, "total": 8, "resolvers": [ { "resolver": "Google", "ip": "8.8.8.8", "loc": "Global (Anycast)", "values": ["10 mail.exemplu.ro"], "ms": 42, "status": "ok" } ] }

WHOIS

Interogare directa pe portul 43 la registrul potrivit extensiei (ROTLD pentru .ro). Returneaza campurile parsate plus raspunsul brut. Pentru extensii necunoscute, serverul WHOIS este descoperit automat prin IANA.

GET/whois.php
Parametri
domainobligatoriuDomeniul de interogat
Exemplu
curl "https://dns.ro/whois.php?domain=exemplu.ro"
Raspuns (fragment)
{ "domain": "exemplu.ro", "tld": "ro", "server": "whois.rotld.ro", "registered": true, "fields": { "registrar": "...", "created": "...", "expires": "...", "status": "OK", "nameservers": ["ns1.exemplu.ro", "ns2.exemplu.ro"] }, "raw": "..." }

DNS Benchmark

Masoara timpul de raspuns (min/medie/max) si fiabilitatea a 10 resolvere publice pentru un domeniu, interogand fiecare de mai multe ori. Rezultatele sunt clasate dupa fiabilitate, apoi dupa viteza.

GET/benchmark.php
Parametri
domainobligatoriuDomeniul folosit pentru interogarile de test
Exemplu
curl "https://dns.ro/benchmark.php?domain=exemplu.ro"

Scanare porturi

Verifica porturile TCP comune ale unui domeniu/IP tinta cu o singura conexiune per port. Fiecare port deschis este clasificat dupa risc (info / warn / high). Cu target=self&consent=1 se scaneaza adresa IP a apelantului, necesitand accept explicit.

GET/scan.php
Parametri
targetobligatoriuDomeniu, adresa IP, sau self pentru propriul IP
consentconditionat1 — obligatoriu cand target este self
Exemplu
curl "https://dns.ro/scan.php?target=exemplu.ro"

Scanare porturi (loturi)

Scaneaza real un interval din primele 1024 porturi TCP, non-blocant (toate conexiunile din lot deschise simultan). Apelata repetat de pagina de scanare pentru a acoperi 0-1023 in loturi paralele. Fiecare port revine cu starea open, closed sau filtered.

GET/scanports.php
Parametri
targetobligatoriu*Domeniu, IP, sau self. (*sau ip)
ipoptionalAdresa IP directa (alternativa la target)
consentconditionat1 obligatoriu cand target este self
startoptionalPrimul port din lot (0-1023, implicit 0)
countoptionalNumar de porturi in lot (1-128, implicit 64)
Exemplu
curl "https://dns.ro/scanports.php?ip=1.2.3.4&start=0&count=64"

Securitate avansata

Instrumentele din sectiunea Securitate sunt disponibile si prin API. Foloseste-le doar pe sisteme proprii sau pentru care ai autorizare scrisa — vezi Termenii si Conditiile. Endpointurile marcate cu consent=1 genereaza cereri active catre tinta si necesita confirmarea explicita a autorizarii.

SSL / TLS Analyzer

Analizeaza configuratia SSL/TLS: certificat (CN, emitent, expirare, SAN), protocoale suportate (TLS 1.0–1.3, SSLv3), cipher suite preferat, HSTS, lant de certificare si vulnerabilitati cunoscute (POODLE, BEAST, cipher slab, cheie scurta).

GET/ssl.php
Parametri
targetobligatoriuDomeniul de analizat (accepta si URL complet, este normalizat automat)
Exemplu
curl "https://dns.ro/ssl.php?target=exemplu.ro"
Raspuns (fragment)
{ "has_ssl": true, "domain": "exemplu.ro", "cert": { "cn": "exemplu.ro", "issuer": "Let's Encrypt, R3", "type": "DV (Domain Validated)", "key_bits": 2048, "key_type": "RSA", "valid_to": "15.09.2026", "days_left": 72, "san": ["exemplu.ro", "www.exemplu.ro"] }, "protocols": [ { "name": "TLSv1.3", "supported": true }, { "name": "SSLv3", "supported": false } ], "hsts": { "present": true, "max_age": 31536000 }, "vulns": [ { "name": "POODLE (SSLv3)", "status": "safe", "desc": "..." } ] }

HTTP Security Headers

Verifica headerele de securitate ale unui site (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) si returneaza un scor de la A la F. O singura cerere HTTPS, neintruziva.

GET/headers.php
Parametri
targetobligatoriuDomeniul de analizat
Exemplu
curl "https://dns.ro/headers.php?target=exemplu.ro"

Zone Transfer (AXFR)

Testeaza daca nameserverele domeniului accepta transferul complet al zonei DNS — o configurare gresita grava care expune intreaga structura DNS. Verifica fiecare nameserver in parte.

GET/axfr.php
Parametri
targetobligatoriuDomeniul de testat
Exemplu
curl "https://dns.ro/axfr.php?target=exemplu.ro"

Subdomain Takeover

Enumereaza subdomenii comune si detecteaza CNAME-uri catre servicii externe abandonate (GitHub Pages, Heroku, Netlify, Vercel, AWS S3, Azure s.a.) care pot fi preluate de un atacator. Enumerare DNS pasiva, fara trafic intruziv.

GET/takeover.php
Parametri
targetobligatoriuDomeniul de scanat
Exemplu
curl "https://dns.ro/takeover.php?target=exemplu.ro"

Reputatie IP / Blacklist

Verifica o adresa IP (sau IP-ul unui domeniu) pe liste DNSBL publice de spam si abuz. Utile pentru diagnosticarea problemelor de livrabilitate email. Doar interogari DNS standard.

GET/blacklist.php
Parametri
targetobligatoriuAdresa IP sau domeniul de verificat
Exemplu
curl "https://dns.ro/blacklist.php?target=1.2.3.4"

Email Spoofing Test

Analizeaza configuratia de securitate email a unui domeniu (SPF, DKIM, DMARC, MTA-STS, BIMI) si calculeaza un scor de vulnerabilitate la uzurpare, de la 0 la 100. Doar interogari DNS, niciun email trimis.

GET/email-spoof.php
Parametri
targetobligatoriuDomeniul de analizat
Exemplu
curl "https://dns.ro/email-spoof.php?target=exemplu.ro"
Raspuns (fragment)
{ "domain": "exemplu.ro", "score": 85, "spf": { "present": true, "record": "v=spf1 mx -all" }, "dmarc": { "present": true, "policy": "reject" }, "dkim": { "found": true, "keys": [{ "selector": "default", "bits": 2048 }] }, "mta_sts": { "present": false }, "bimi": { "present": false } }

Fisiere sensibile expuse necesita consent

Verifica daca fisiere sensibile (/.git, /.env, backup-uri, phpinfo, adminer s.a.) sunt accesibile public. Genereaza zeci de cereri HTTP catre tinta, deci necesita consent=1 — permis doar pe site-uri proprii sau autorizate. Fiecare apel este inregistrat intr-un jurnal de audit.

GET/exposed.php
Parametri
targetobligatoriuDomeniul de scanat (site propriu sau autorizat)
consentobligatoriu1 — confirmarea ca detii sau esti autorizat sa testezi site-ul
Exemplu
curl "https://dns.ro/exposed.php?target=exemplu.ro&consent=1"

Banner Grabbing necesita consent

Detecteaza versiunile software ale serviciilor expuse pe server (SSH, HTTP, FTP, SMTP, MySQL, Redis s.a.) prin conexiuni TCP pe 20+ porturi comune. Necesita consent=1 — permis doar pe servere proprii sau autorizate. Adresele IP private sunt refuzate automat. Fiecare apel este inregistrat intr-un jurnal de audit.

GET/banner.php
Parametri
targetobligatoriuAdresa IP sau domeniul de scanat (server propriu sau autorizat)
consentobligatoriu1 — confirmarea ca detii sau esti autorizat sa testezi serverul
Exemplu
curl "https://dns.ro/banner.php?target=exemplu.ro&consent=1"

Limite si conditii

Maximum 20 de cereri pe minut per adresa IP, aplicat pe toate endpointurile. Raspunsurile nu sunt puse in cache — fiecare cerere reflecta starea DNS din acel moment. Pentru volume mai mari sau chei API dedicate, contacteaza Synaptic Systems.

Utilizare responsabila a instrumentelor de securitate. Endpointurile de securitate, in special cele marcate cu consent=1, trebuie folosite exclusiv pe sisteme proprii sau pentru care detii autorizare scrisa. Utilizarea neautorizata poate constitui infractiune conform Legii nr. 161/2003 si art. 360–366 din Codul Penal roman. Apelurile catre endpointurile cu consimtamant sunt inregistrate intr-un jurnal de audit (hash IP, timestamp, tinta). Raspunderea pentru utilizare revine integral apelantului. Vezi Termenii si Conditiile.

In parteneriat tehnologic cu
Synaptic Systems CyberSec Intelligence Romania