Perform Detailed DNS Lookups with host Command in OS X

Mar 19, 2015 - 3 Comments

DNS Lookup with the Host Command

All domains are associated with an IP address, whether it’s for a website, mail server, or whatever else. While using nslookup offers a simple way to get DNS information and an IP for a specific website or domain, if you want a significantly more detailed retrieval, you can use the host command instead. The host command performs an extensive DNS lookup for whatever domain it’s pointed at, which makes it much more useful than nslookup or dig for many situations. This can be helpful for many situations, whether to troubleshoot and discover DNS propagation issues or simply to get an actual IP address, CNAME, IPv6 address, or otherwise.

Using the host command is quite easy, it’s included in Mac OS X and Linux, so you should be able to use it wherever necessary to do a DNS lookup. Command syntax is simple, open Terminal and just use the following:

host [domain]

You can also use the -a flag to get any DNS details, which winds up providing a comprehensive lookup:

host -a [domain]

For example, replacing [domain] with google and running host -a on gives an extensive listing of DNS lookup details of myriad IP addresses and mail servers.

Air% host -a
Trying ""
;; Truncated, retrying in TCP mode.
Trying ""
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64673 ;; flags: qr rd ra; QUERY: 1, ANSWER: 27, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ; IN ANY ;; ANSWER SECTION: 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 299 IN A 21599 IN NS 599 IN MX 40 21599 IN TYPE257 \# 19 000714981749824711982818926F6D 21599 IN SOA 2015031701 7200 1800 1209600 300 599 IN MX 50 3599 IN TXT "v=spf1 ip4: ip4: ~all" 21599 IN NS 21599 IN NS 599 IN MX 10 599 IN MX 20 21599 IN NS 599 IN MX 30 Received 613 bytes from in 98 ms Air%

You'll notice towards the end that the DNS servers used for the lookup will be listed as well, without having to query them directly, though that's still recommended if you want a comprehensive list of all the DNS servers a specific machine is using. If they were changed recently and the data you are seeing does not match what it should, flushing DNS cache can be necessary.

You can also get specific record types with the -t flag, for example, if you want a CNAME or ANAME, or NameServer (NS) record, the syntax would look as follows:

host -t NS [domain]

Again to use as an example, querying the name server would result in:

% host -t NS name server name server name server name server

The next time you're working on DNS issues, remember the host command, it's a good one to add to your networking toolkit.


Related articles:

Posted by: Paul Horowitz in Command Line, Mac OS, Tips & Tricks


» Comments RSS Feed

  1. Ignacio Cristerna says:

    dig is far more versatile since it is easier to script, has more options, specially +trace

Leave a Reply


Shop on and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks


iPhone / iPad



Shop on Amazon to help support this site