If you ever need to check the status of your DNS records, Windows has a built-in tool for just that task. There are a number of reasons you may want to do this, for example to check that any updates are correct or to troubleshoot issues accessing a particular service.
To check for a specific record you need to specifiy the record type, e.g. A, MX, TXT, and the host name you want to check. The following example shows how to check for any A records for rackspace.co.uk.
C:\Users\Administrator>nslookup -type=A rackspace.co.uk
The first two lines of output specify the server to which the request was directed, this will be the default server your system uses for DNS name resolution. The second section, which specifies a non-authoritative answer, gives the name of the record and the corresponding IP address. The answer is non-authoritative because the answer comes from a server, cachens1.lon.rackspace.com in this case, that is not the root source for those records.
To get an authoritative answer we need to go to the source. This can be done by specifiying the authoritative name server at the end of the request. As you can see in the command and output of the example below the server the record is now checked against the name server, ns.rackspace.com.
C:\Users\Administrator>nslookup -type=A rackspace.co.uk ns.rackspace.com
DNS uses caching, this reduces the load on authoritative name servers but means that sometimes records can be out of date. If the authoritative and non-authoritative answers differ, this means you will have a cached response from the resolver name server you are using. The length of time a record is cached depends on its time-to-live (TTL) value. This is a number specified in seconds. To see how long a record will be cached for requires the debug switch.
C:\Users\Administrator>nslookup -type=A -debug rackspace.co.uk
HEADER: opcode = QUERY, id = 1, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 2, additional = 2 QUESTIONS: 188.8.131.52.in-addr.arpa, type = PTR, class = IN ANSWERS: -> 184.108.40.206.in-addr.arpa name = cachens1.lon.rackspace.com ttl = 2466 (41 mins 6 secs) AUTHORITY RECORDS: -> 151.138.83.in-addr.arpa nameserver = ns2.rackspace.com ttl = 2466 (41 mins 6 secs) -> 151.138.83.in-addr.arpa nameserver = ns.rackspace.com ttl = 2466 (41 mins 6 secs) ADDITIONAL RECORDS: -> ns.rackspace.com internet address = 220.127.116.11 ttl = 12982 (3 hours 36 mins 22 secs) -> ns2.rackspace.com internet address = 18.104.22.168 ttl = 12985 (3 hours 36 mins 25 secs) ------------ Server: cachens1.lon.rackspace.com Address: 22.214.171.124 ------------ Got answer: HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 2, additional = 2 QUESTIONS: rackspace.co.uk, type = A, class = IN ANSWERS: -> rackspace.co.uk internet address = 126.96.36.199 ttl = 279 (4 mins 39 secs) AUTHORITY RECORDS: -> rackspace.co.uk nameserver = ns.rackspace.com ttl = 17465 (4 hours 51 mins 5 secs) -> rackspace.co.uk nameserver = ns2.rackspace.com ttl = 17465 (4 hours 51 mins 5 secs) ADDITIONAL RECORDS: -> ns.rackspace.com internet address = 188.8.131.52 ttl = 15754 (4 hours 22 mins 34 secs) -> ns2.rackspace.com internet address = 184.108.40.206 ttl = 15727 (4 hours 22 mins 7 secs) ------------ Non-authoritative answer: Name: rackspace.co.uk Address: 220.127.116.11
So from this you can see that the name server being used by the client computer will keep reusing the same A record for rackspace.co.uk for the next 4 minutes and 39 seconds. If you were to run the same command on the authoritative name server you would see what the current maximum TTL for the record is.
After reading this you should be able to use nslookup to check that a record exists, compare it with the authoritative record and confirm when the cached record will expire.
© 2011-2013 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License