How come com can't be resolved?
They do depend on com. - but it does not have an A record and you can't look it up like that. Try looking for the NS record instead:
nslookup
> set type=NS
> com.
Server: 12.12.12.12
Address: 12.12.12.12#53
Non-authoritative answer:
com nameserver = b.gtld-servers.net.
com nameserver = f.gtld-servers.net.
com nameserver = j.gtld-servers.net.
com nameserver = g.gtld-servers.net.
com nameserver = k.gtld-servers.net.
com nameserver = e.gtld-servers.net.
com nameserver = l.gtld-servers.net.
com nameserver = d.gtld-servers.net.
com nameserver = i.gtld-servers.net.
com nameserver = m.gtld-servers.net.
com nameserver = a.gtld-servers.net.
com nameserver = h.gtld-servers.net.
com nameserver = c.gtld-servers.net.
Authoritative answers can be found from:
b.gtld-servers.net internet address = 192.33.14.30
b.gtld-servers.net has AAAA address 2001:503:231d::2:30
f.gtld-servers.net internet address = 192.35.51.30
j.gtld-servers.net internet address = 192.48.79.30
g.gtld-servers.net internet address = 192.42.93.30
k.gtld-servers.net internet address = 192.52.178.30
e.gtld-servers.net internet address = 192.12.94.30
l.gtld-servers.net internet address = 192.41.162.30
d.gtld-servers.net internet address = 192.31.80.30
i.gtld-servers.net internet address = 192.43.172.30
m.gtld-servers.net internet address = 192.55.83.30
a.gtld-servers.net internet address = 192.5.6.30
a.gtld-servers.net has AAAA address 2001:503:a83e::2:30
h.gtld-servers.net internet address = 192.54.112.30
c.gtld-servers.net internet address = 192.26.92.30
This will give you the gtld-servers which are authoritative for com. and on which you are directed to next set of nameservers for a domain.
If you have dig, try dig +trace com.
if not, then visit http://www.digwebinterface.com/?hostnames=com.&type=&trace=on&ns=resolver&useresolver=8.8.4.4&nameservers= which will show you the output and the route from root level (.) until the NS that gives you the NXDOMAIN response.
You're not missing anything. Domain 'com' exists, but has no A records. If you look for NS records (domain server records), you get results (as expected).
; <<>> DiG 9.9.1-P2 <<>> NS com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25150
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 16
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN NS
;; ANSWER SECTION:
com. 8396 IN NS d.gtld-servers.net.
com. 8396 IN NS l.gtld-servers.net.
com. 8396 IN NS g.gtld-servers.net.
com. 8396 IN NS f.gtld-servers.net.
com. 8396 IN NS m.gtld-servers.net.
com. 8396 IN NS k.gtld-servers.net.
com. 8396 IN NS h.gtld-servers.net.
com. 8396 IN NS e.gtld-servers.net.
com. 8396 IN NS c.gtld-servers.net.
com. 8396 IN NS j.gtld-servers.net.
com. 8396 IN NS i.gtld-servers.net.
com. 8396 IN NS a.gtld-servers.net.
com. 8396 IN NS b.gtld-servers.net.
;; ADDITIONAL SECTION:
a.gtld-servers.net. 94680 IN A 192.5.6.30
a.gtld-servers.net. 94680 IN AAAA 2001:503:a83e::2:30
b.gtld-servers.net. 94680 IN A 192.33.14.30
b.gtld-servers.net. 94680 IN AAAA 2001:503:231d::2:30
c.gtld-servers.net. 94680 IN A 192.26.92.30
d.gtld-servers.net. 94680 IN A 192.31.80.30
e.gtld-servers.net. 94680 IN A 192.12.94.30
f.gtld-servers.net. 94680 IN A 192.35.51.30
g.gtld-servers.net. 94680 IN A 192.42.93.30
h.gtld-servers.net. 94680 IN A 192.54.112.30
i.gtld-servers.net. 94680 IN A 192.43.172.30
j.gtld-servers.net. 94680 IN A 192.48.79.30
k.gtld-servers.net. 94680 IN A 192.52.178.30
l.gtld-servers.net. 94680 IN A 192.41.162.30
m.gtld-servers.net. 94680 IN A 192.55.83.30
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Aug 17 15:50:18 2012
;; MSG SIZE rcvd: 520