Objective: Get authoritative DNS servers for a domain.
Common tools like dig
, nslookup
, whois
and host
can be used to determine the authoritative DNS servers for a zone or domain.
Use the dig
command to query NS records. NS records indicate which name servers are authoritative for the zone or domain. Currently, CloudFlare provides the authoritative DNS for digitalinternals.com
.
1 2 3 |
$ dig +short NS digitalinternals.com leah.ns.cloudflare.com. david.ns.cloudflare.com. |
If you are the more adventurous type, you can start tracing the DNS server records all the way from the TLD (top-level domain). So, for the domain digitalinternals.com
, the TLD is com
. First, get the SOA
record for com
TLD.
1 2 |
$ dig +short SOA com a.gtld-servers.net. nstld.verisign-grs.com. 1422175010 1800 900 604800 86400 |
Now, we have to let dig
query the DNS server a.gtld-servers.net
for the domain digitalinternals.com
.
1 2 3 |
$ dig +noall +authority @a.gtld-servers.net digitalinternals.com digitalinternals.com. 172800 IN NS leah.ns.cloudflare.com. digitalinternals.com. 172800 IN NS david.ns.cloudflare.com. |
Use nslookup
to query the NS records using the syntax shown below.
1 2 3 4 5 6 7 8 9 |
$ nslookup -type=NS digitalinternals.com Server: 72.14.179.5 Address: 72.14.179.5#53 Non-authoritative answer: digitalinternals.com nameserver = leah.ns.cloudflare.com. digitalinternals.com nameserver = david.ns.cloudflare.com. Authoritative answers can be found from: |
To get the authoritative DNS server list using whois
command, use the following syntax.
1 2 3 |
$ whois -i ns digitalinternals.com | grep -i "name .*:" Name Server: DAVID.NS.CLOUDFLARE.COM Name Server: LEAH.NS.CLOUDFLARE.COM |
To get the authoritative DNS server list using host
command, use the following syntax.
1 2 3 |
$ host -t ns digitalinternals.com digitalinternals.com name server leah.ns.cloudflare.com. digitalinternals.com name server david.ns.cloudflare.com. |