The host command in Linux allows the user to lookup DNS (Domain Name System). It can be understood simply that you can search for the IP address of a specific domain name or you can rely on an IP address to find a specific domain name.
This is a useful command because you can rely on options to find more specific details of the domain name.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related Linux System command queries.
In this context, we shall look into how to use the host command in Linux.
What is the syntax of the host command ?
It's syntax is given below:
host [-aCdlriTWV] [-c class] [-N ndots] [-t type] [-W time] [-R number] [-m flag] hostname [server]
Host command Options is explained below;
- -a: The -a (all) option is equivalent to setting the -v option and asking host to make a query of type ANY.
- -C: When the -C option is used, host attempts to display the SOA records for zone name from all the listed authoritative name servers for that zone. The list of name servers is defined by the NS records that are found for the zone.
- -c class: The -c option instructs host to make a DNS query of class class. This can lookup Hesiod or Chaosnet class resource records. The default class is IN (Internet).
- -d: Verbose output is generated by host when the -d or -v option is used. The two options are equivalent. They are provided for backward compatibility. In previous versions, the -d option switched on debugging traces and -v enabled verbose output.
- -l: List mode is selected by the -l option. This makes host perform a zone transfer for zone name. Transfer the zone printing out the NS, PTR, and address records (A/AAAA). If combined with -a, all records are printed.
- -i: The -i option specifies that reverse lookups of IPv6 addresses should use the IP6.INT domain as defined in RFC1886. The default is to use IP6.ARPA.
- -N ndots: The -N option sets the number of dots that have to be in name to be considered absolute. The default value is that defined using the ndots statement in /etc/resolv.conf, or 1 if no ndots statement is present. Names with fewer dots are interpreted as relative names and are searched for in the domains listed in the search or domain directive in /etc/resolv.conf.
- -R number: The number of UDP retries for a lookup can be changed with the -R option. number indicates how many times host repeats a query that does not get answered. The default number of retries is 1. If number is negative or zero, the number of retries defaults to 1.
- -r: Non-recursive queries can be made via the -r option. Setting this option clears the RD ("recursion desired") bit in the query which host makes. This should mean the name server receiving the query does not attempt to resolve name. The -r option enables host to mimic the behavior of a name server by making non-recursive queries and expecting to receive answers to those queries that are usually referrals to other name servers.
- -T: By default, host uses UDP when making queries. The -T option makes it use a TCP connection when querying the name server. TCP is automatically selected for queries that require it, such as AXFR (zone transfer) requests.
- -4: The -4 option forces host to only use IPv4 query transport.
- -6: The -6 option forces host to only use IPv6 query transport.
- -t type: The -t option is used to select the query type. The type can be any recognized query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified, host automatically selects an appropriate query type. By default, it looks for A, AAAA, and MX records, but if the -C option was given, queries are made for SOA records, and if name is a dotted-decimal IPv4 address or colon-delimited IPv6 address, host queries for PTR records. If a query type of IXFR is chosen, the starting serial number can be specified by appending an equal sign followed by the starting serial number (e.g., -t IXFR=12345678).
- -W wait, -w: The time to wait for a reply can be controlled through the -W and -w options. The -W option makes host wait for wait seconds. If wait is less than 1, the wait interval is set to one second. When the -w option is used, host effectively waits forever for a reply. The time to wait for a response is set to the number of seconds given by the hardware's maximum value for an integer quantity.
- -s: The -s option tells host not to send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior.
- -m flag: The -m can set the memory usage debugging flags record, usage and trace.
Examples of using Host command with it's Options;
1. Without option:
2. host domain_name: print out the IP address of the domain
For example, We check the IP of google.com:
$ host google.com
3. host ip: print out domain of the IP address
$ host 127.0.0.1
4. -a: specify the query type
$ host -a google.com
[Need help in fixing Linux system issues ? We can help you. ]