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
    Creating Scrolling Parallax Effects with CSS

    Introduction For quite a long time now websites with the so called "parallax" effect have been really popular. In case you have not heard of this effect, it basically includes different layers of images that are moving in different directions or with different speed. This leads to a...

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

Incredible Demos

  • By
    Introducing MooTools NextPrev

    One thing I love doing is duplicating OS functionalities. One of the things your OS allows you to do easily is move from one item to another. Most of the time you're simply trying to get to the next or the previous item.

  • By
    HTML5 Context Menus

    One of the hidden gems within the HTML5 spec is context menus. The HTML5 context menu spec allows developers to create custom context menus for given blocks within simple menu and menuitem elements. The menu information lives right within the page so...

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!