On Linux systems, the host command is a tool used to query DNS to find DNS records associated with a specified host name. As an easy-to-use CLI application, host can also be used to list and verify various types of DNS records, test and troubleshoot severe ISP DNS servers and network connections, spam and blacklist records, detect and troubleshoot DNS server issues, and more. Here are some useful examples of using the host command.
Querying A record (IPv4 address) :
host -t A example.com
This displays the IPv4 address associated with example.com.
To query AAAA records (IPv6 addresses) :
host -t AAAA example.com
This displays the IPv6 address associated with example.com.
Query MX records (Mail Exchange server) :
host -t MX example.com
This displays the mail exchange server responsible for the example.com domain name.
To query NS records (name server) :
host -t NS example.com
This displays the name server responsible for the example.com domain name.
Query TXT records (text information) :
host -t TXT example.com
This displays the text information associated with example.com, which is typically used for SPF records.
To query a CNAME record (canonical name) :
host -t CNAME example.com
This displays the canonical name of example.com, if it exists.
Reverse query PTR records using IP addresses:
host 8.8.8.8
perhaps
host -t PTR 8.8.8.8
This will display the domain name associated with the IP address 8.8.8.8.
Query all types of records:
host example.com
Not using the -t option will attempt to query all types of records and display all available information.
Query using a specific DNS server:
host example.com 8.8.8.8
This will use Google's public DNS server (8.8.8.8) to query the example.com record.
To check whether the domain name exists:
host example.com
If the domain name does not exist, the host command returns the message that it was not found.
4 or option-6 forces the host to use only IPv4 or only IPV6 query transport, respectively.
$ host -4 google.com
OR
$ host -6 google.com
Find the TTL of the domain name.
$ host -v -t a google.com
Trying "google.com"
;; ->>HEADER
The host command is a useful tool for learning about the DNS protocol and the DNS query process, and can help students and network novices understand how DNS works.
The host command can be integrated into automated scripts to periodically check the status of domain name resolution or as part of a more sophisticated network monitoring solution.
These examples show how to use the host command to query different types of DNS records, which is useful for network troubleshooting and DNS analysis.