Vai al contenuto
DNS toolkit

Test DNS over HTTPS online (DoH query)

Risoluzione DNS via DNS over HTTPS contro l'endpoint pubblico cloudflare-dns.com/dns-query (Cloudflare 1.1.1.1). Resolve A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, PTR. Output: Answer section parsata in tabella, JSON raw completo per debug e status code RFC 8484. La query parte direttamente dal browser verso Cloudflare: utile per verificare propagazione DNS, debug di SPF/DKIM/DMARC e troubleshooting MX da remoto, anche da rete mobile o restricted.

Come fare un DoH query

  1. 1

    Inserisci dominio

    Senza schema (no https://), niente trailing slash, niente path. Es. www.mauriziofonte.it, mail.google.com. Per reverse PTR: inserisci 1.0.0.127.in-addr.arpa (IPv4) o ARPA inverso (IPv6).

  2. 2

    Scegli il tipo record

    A (IPv4), AAAA (IPv6), CNAME (alias), MX (mail server), TXT (SPF/DKIM/DMARC/verifications), NS (nameservers), SOA (zone authority), CAA (cert authority), PTR (reverse). ANY non garantito (resolver moderni rifiutano per anti-amplification).

  3. 3

    Bottone 'Query'

    Fetch verso https://cloudflare-dns.com/dns-query?name=X&type=Y con header Accept: application/dns-json. Risposta: parsing JSON + render Answer section in tabella (name, type, TTL, data).

  4. 4

    Leggi il JSON raw

    Sotto la tabella, JSON raw completo per debug. Campi rilevanti: Status (0 = OK, 2 = SERVFAIL, 3 = NXDOMAIN), TC (truncation), RD (recursion desired), RA (recursion available), AD (DNSSEC validated), CD (DNSSEC checking disabled).

DNS over HTTPS, in pratica

DoH vs DNS classico. DNS over HTTPS (RFC 8484) è DNS incapsulato in HTTPS sulla porta 443, indistinguibile dal normale traffico web in transito. Vantaggi: privacy (le query DNS in chiaro su UDP/53 sono ispezionabili dal provider e dagli intermediari di rete), aggiramento del DNS hijacking tipico di reti pubbliche WiFi, bypass di censura DNS-based (l'ispezione richiede DPI più costoso). Costi: latenza in più nell'ordine di 10-30 ms rispetto a UDP/53, e una concentrazione di traffico verso pochi endpoint pubblici (1.1.1.1, 8.8.8.8, 9.9.9.9).

Endpoint Cloudflare in JSON. Il tool interroga cloudflare-dns.com/dns-query con Accept: application/dns-json, il formato REST pubblico di Cloudflare. La risposta è un JSON già strutturato con Status, Answer, Authority, Additional, leggibile senza dover decodificare il formato binario wire di RFC 1035.

Casi d'uso operativi. Verifica della propagazione DNS dopo un cambio (TTL expire monitoring), debug dei record TXT per SPF/DKIM/DMARC prima di abilitare l'email auth, verifica degli MX per troubleshooting di delivery email, ispezione DNSSEC tramite il flag AD. Funziona dal browser senza installare strumenti CLI: comodo per debug rapido da mobile o da reti dove dig non è disponibile.

Status code RFC 8484

Status 0 - NoError
Query OK, risposta valida. Answer popolata se il record esiste. Empty Answer se il tipo richiesto non è presente nel dominio (es. AAAA su dominio IPv4-only).
Status 1 - FormErr
Errore di formato nella query. Raro con DoH (l'API costruisce la query lato Cloudflare).
Status 2 - ServFail
Resolver fallito (es. authoritative server irraggiungibile, DNSSEC validation fail). Riprova dopo 30s; se persiste, il dominio ha problemi DNS lato server authoritative.
Status 3 - NXDomain
Dominio non esiste. Distinto da Status 0 con Answer vuota: il dominio non è registrato o ha errori in zone delegation.
Status 5 - Refused
Server rifiuta di rispondere. Tipicamente policy-based (es. ANY queries rifiutate per anti-amplification).
Status 9 - NotAuth
Server non è authoritative per la zona. Errore di delegation.

Glossario

Termini tecnici usati in questa pagina, spiegati in due righe.

DoH #
DNS over HTTPS, RFC 8484. DNS incapsulato in HTTPS port 443. Endpoint pubblici: Cloudflare cloudflare-dns.com/dns-query, Google dns.google/dns-query, Quad9 dns.quad9.net/dns-query.
DoT #
DNS over TLS, RFC 7858. DNS in TLS port 853. Alternativa a DoH, più efficiente (no HTTP overhead) ma identificabile da firewall (port dedicata). Implementato da systemd-resolved, Android 9+, AdGuard, Pi-hole.
TTL #
Time To Live in secondi. Tempo che un record DNS resta cachato dai resolver downstream. Tipici: 300 (5 min) per record dynamic, 3600 (1h) per stable, 86400 (24h) per zone authoritative.
DNSSEC #
DNS Security Extensions: signing crittografico dei record DNS per prevenire spoofing. Cloudflare valida DNSSEC by default (campo AD = true se la zona è DNSSEC-signed e validata).
Authoritative server #
Server DNS che ha la copia originale (zone file) per un dominio. Distinto da resolver caching (1.1.1.1, 8.8.8.8) che chiedono agli authoritative e cachano. Authoritative dichiarati in NS records.
ANY query #
Query DNS che chiede tutti i record types per un dominio. Deprecato (RFC 8482) per anti-amplification (ANY response può essere 100x size della query, abusato in DDoS). Cloudflare risponde con HINFO placeholder.

Domande frequenti

Posso usare un endpoint diverso da Cloudflare?
Non da UI. Il tool punta a cloudflare-dns.com per omogeneità di formato (JSON). Endpoint equivalenti supportati dallo stesso protocollo: Google su dns.google/dns-query e AliDNS su dns.alidns.com/resolve. Per confrontare la risposta di più resolver in parallelo è disponibile il multi-resolver compare a 6 vie nel toolkit DNS email.
C'è un rate limit?
L'endpoint pubblico Cloudflare ha rate limit indicativo nell'ordine di 1000 richieste/ora per IP. Per debug occasionale (decine di query) è ampiamente sufficiente. Per monitoring continuo, l'approccio corretto è un resolver self-hosted (CoreDNS, Pi-hole, Unbound) con backoff e cache, non interrogare un endpoint pubblico.
I dati sono privati?
La query passa da Cloudflare (politica privacy: log query 24h, no IP storage permanente, no sale a terze parti, dichiarato in blog post 2018). Il browser invia HTTPS, il sito di hosting (mauriziofonte.it) NON vede la query (e' una fetch cross-origin diretta dal browser a Cloudflare).
Differenza vs <code>dig @1.1.1.1 example.com</code>?
Equivalenti. dig usa UDP port 53 plain-text, questo tool usa HTTPS port 443 cifrato. Output identico (Answer section). Vantaggio del tool: funziona dal browser senza installare nulla, comodo da mobile.
Posso fare query reverse PTR?
Si', usa il formato 1.0.0.127.in-addr.arpa (IPv4 reverse) o nibble-ARPA per IPv6, type PTR. Es. per IP 8.8.8.8: 8.8.8.8.in-addr.arpa (4 octet inversi + suffix).
Gestisce CAA records?
Si'. CAA (RFC 8659) controlla quali CA possono emettere certificati per un dominio. Esempio: letsencrypt.org ha CAA che ammettono solo Let's Encrypt. Se cambi CA, ricorda di aggiornare il CAA prima del nuovo issue.
Risposta in formato wire (DNS classic) è supportata?
No, solo JSON. Per wire format (RFC 1035 binary) cambia Accept in application/dns-message e la risposta è application/dns-message binaria, da parsare manualmente. Tool come dnscrypt-proxy lo fanno; questo tester resta sul JSON-friendly subset.

Chi sviluppa questi strumenti?

Maurizio Fonte, consulente IT senior con oltre 20 anni di esperienza in PHP, Laravel, infrastrutture Linux, cybersecurity e integrazione AI/LLM in azienda. Backend di produzione, modernizzazione di codice legacy, audit di sicurezza, agenti AI e MCP server custom: il lavoro che sta dietro a questi strumenti.

Conosci Maurizio Fonte