Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I do "dig @a.gtld-servers.net xyz.com", it quickly returns the nameservers for xyz.com and the IP addresses for those nameservers (glue records).

Does that mean a.gtld-servers.net (and *.gtld-servers.net) have a record of all .com domains locally? They respond very quickly, so I don't think they're making a further query themselves. Similarly, a request for xyz.com's nameservers doesn't redirect me to "domains.starting.with.x.gtld-servers.net" or anything.

I do realize a.gtld-servers.net is probably several machines and that I'm being routed to the one nearest me (through that new one-ip-multiple-machine technology), but this would just mean several other machines have all .com domains.

EDIT: Thanks to everyone who answered! Followup question: if someone "hacks into" one of these machines, couldn't they get a list of all .com domains? This seems like useful information, unless it's already available somewhere for free? I realize domain information is public, but is still difficult to obtain in bulk. I'm guess *.gtld-servers.net don't support zone transfers (though .edu's nameservers did, at least a few years ago).

share|improve this question

2 Answers 2

Yes, the "x.gtld-servers.net" are the authoritative servers for the "com" top level domain, so they have all the "pointers" for the .com domains. You can see the nameservers for the TLD by running

dig -t ns com
dig -t ns us
dig -t ns dk
dig -t ns aero
share|improve this answer
    
With single-label names, it's best to include the ending . -- com., us. -- to avoid the default domain name being appended. (For example, when resolving com inside Contoso Inc's network, the system might try com.contoso.net. before just com.) –  grawity Apr 15 '11 at 20:47
    
I don't think dig ever uses the search path; other "real dns debug tools" shouldn't either. (nslookup does, but don't use that for debugging dns). :-) –  Ask Bjørn Hansen Jan 15 at 9:59

Do a query for the domain itself – dig @a.gtld-servers.net com. – and look for the "authoritative answer" flag:

snowflake ~ $ dig @a.gtld-servers.net com | grep flags
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
             ^^
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.