Retrieve DNS Records with Dig

By  on  

One of the most difficult parts of my job is managing DNS settings. It's not that DNS is a particularly difficult thing to manage, but it's somewhat foreign to me because they don't teach it in school and there are huge consequences for messing things up. Not only can a business' website be down, but their email as well. Whenever I need to retrieve DNS records from a nameserver, I use Cygwin and dig.

For this example, we'll pretend that we need to retrieve the MX records for the davidwalsh.name domain. Here's the format of how you use dig:

dig @[nameserver] [domain] [record type]

To get a domains nameserver addresses, you'll need to do a WHOIS search. Click here to learn how to do that. I know that davidwalsh.name's nameserver is NS2.DREAMHOST.COM, so now I can find my domain's MX records:

dig @ns2.dreamhost.com davidwalsh.name MX

The above returns:

; <<>> DiG 9.3.2 <<>> @ns2.dreamhost.com davidwalsh.name mx
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 736
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;davidwalsh.name.               IN      MX

;; ANSWER SECTION:
davidwalsh.name.        14400   IN      MX      0 mx1.balanced.frisky.mail.dreamhost.com.
davidwalsh.name.        14400   IN      MX      0 mx2.balanced.frisky.mail.dreamhost.com.

;; ADDITIONAL SECTION:
mx1.balanced.frisky.mail.dreamhost.com. 14400 IN A 208.113.200.12
mx2.balanced.frisky.mail.dreamhost.com. 14400 IN A 208.113.200.11

;; Query time: 77 msec
;; SERVER: 208.96.10.221#53(208.96.10.221)
;; WHEN: Mon Aug 04 17:09:23 2008
;; MSG SIZE  rcvd: 139

The MX servers are "mx1.balanced.frisky.mail.dreamhost.com" and "mx2.balanced.frisky.mail.dreamhost.com". Just the information we needed!

Recent Features

  • By
    Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

  • By
    Introducing MooTools Templated

    One major problem with creating UI components with the MooTools JavaScript framework is that there isn't a great way of allowing customization of template and ease of node creation. As of today, there are two ways of creating: new Element Madness The first way to create UI-driven...

Incredible Demos

  • By
    Build a Slick and Simple MooTools Accordion

    Last week I covered a smooth, subtle MooTools effect called Kwicks. Another great MooTools creation is the Accordion, which acts like...wait for it...an accordion! Now I've never been a huge Weird Al fan so this is as close to playing an accordion as...

  • By
    JavaScript Copy to Clipboard

    "Copy to clipboard" functionality is something we all use dozens of times daily but the client side API around it has always been lacking; some older APIs and browser implementations required a scary "are you sure?"-style dialog before the content would be copied to clipboard -- not great for...

Discussion

  1. Not Me

    This is not about Cygwin. It’s about dig.

  2. @Anonymous Coward: True, you don’t NEED Cygwin. Windows based users will likely use Cygwin, otherwise there’s a Windows command line tool to do it. That said, I recommend Cygwin for Windows users.

  3. Not Me

    Not a coward. I just didn’t want your friends to know your mom is reading your blog. ;)

  4. You know David, if you keep posting about Linux apps you might have to just dive in and give Linux a test drive. You might even dump Windows as your primary work environment, as I did many years ago.

    These handy apps aren’t the only thing that give Linux a great reputation.

  5. @Anonymous Coward: Well played, sir! :)

    @Mark: I actually have an old machine to take home and install Linux. I’ll give it a try, but I doubt I’ll make that jump…yet.

  6. Well it seems you may be more successful at converting people than me!

    Nice post!

  7. ..why would anyone like to see a whole zone record?
    host -t MX domain.tld

  8. Grumble grumble

    So … which Cygwin package contains dig?

  9. Janis

    Exactly, Grumble grumble, I have Cygwin and I cannot see dig in their package list… :\

  10. Janis

    OK, I find the package – it’s “bind”.

  11. @Janis: ah! That’s what I was looking for!

    Maybe update the post to tell ppl that info as well?

  12. @Dominic B: Will do!

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!