Building a DNS Lookup and Propagation Checker
· 3 min · dnsdingo.com
What Is DNS Dingo?
DNS Dingo is a DNS lookup tool that queries any domain for all standard record types and checks whether DNS changes have propagated across the internet. When you update a DNS record and need to know if the change has reached nameservers worldwide, DNS Dingo gives you a clear answer.
It supports A, AAAA, CNAME, MX, TXT, NS, SOA, SRV, CAA, and PTR records. Results are displayed in a clean, readable format with TTL values and response times.
Architecture Overview
DNS Lookup Request
-> CloudFront (static frontend)
-> API Gateway
-> Lambda (perform DNS resolution)
-> Query authoritative nameservers
-> Query public resolvers (Google, Cloudflare, OpenDNS)
-> Return aggregated results
Propagation Check
-> Lambda queries DNS from multiple resolver endpoints
-> Compares results across locations
-> Returns propagation status map
The Lambda function uses low-level DNS resolution libraries to query specific nameservers directly, rather than relying on the system resolver. This gives precise control over which servers are queried and allows parallel lookups against multiple resolvers simultaneously.
Multi-Record Lookups
A single query can return all record types for a domain at once. The Lambda function fires parallel DNS queries for each record type and assembles the results into a unified response. This all-records view is useful for auditing a domain's full DNS configuration without running separate lookups.
Each result includes the record value, TTL, the nameserver that answered, and the response time in milliseconds. Records are grouped by type and sorted for readability.
Propagation Checking
DNS propagation is checked by querying the same record against well-known public resolvers around the world: Google (8.8.8.8), Cloudflare (1.1.1.1), OpenDNS, Quad9, and others. The tool compares the responses and reports which resolvers have the updated record and which still serve the old value.
Results are displayed as a simple table showing each resolver, its location, the returned value, and whether it matches the expected record. This makes it straightforward to see propagation progress at a glance.