HOST(1) FreeBSD General Commands Manual HOST(1)


hostDNS lookup utility


host [ -aCdilrsTvw46][ -c class][ -N ndots][ -R number][ -t type][ -W wait] name [ server]


host is a simple utility for performing DNS lookups. It is normally used to convert names to IP addresses and vice versa.

name is the domain name that is to be looked up. It can also be a dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which case host will by default perform a reverse lookup for that address.

When name is not provided, host prints a short summary of it's usage.

server is an optional argument which is either a domain name or an IP address of the name server that host should query instead of the server or servers listed in /etc/resolv.conf. When server is a domain name, system resolver is used to obtain it's address.

Supported options:

Make a verbose query of type ANY. Equivalent to -v -t ANY.
Query for SOA records for zone name from all of it's authoritative name servers. The list of name servers is obtained via NS query for name.
-c class
Perform DNS query of class class. Recognized classes are IN (Internet), CH (Chaosnet), HS (Hesiod), NONE, ANY and CLASS N (where N is a number from 1 to 255). Default is IN.
Produce verbose output. This is a synonym for -v, and is provided for backward compatibility.
Use IP6.INT domain for reverse lookups of IPv6 addresses (as defined in RFC1886; note that RFC4159 deprecates IP6.INT). By default IP6.ARPA is used.
List all NS, PTR, A and AAAA records in zone name by performing a zone transfer ( AXFR). You can combine this option with -a to print all records, or with -t to only print specific ones.
-N ndots
Consider names with at least this many dots as absolute. That is, try to resolve them directly before consulting domain or search options from /etc/resolv.conf.
Perform non-recursive query to the name server by clearing RD (“recursion desired”) bit of the query.
-R number
Retry this many times when a query does not receive an answer in time. The default is 1 retry. If number is negative or zero, 1 is used instead.
Report SERVFAIL responses as they are, do not ignore them.
Query name server over TCP. By default UDP is used, except for AXFR and IXFR queries, which require TCP. host will also retry UDP queries in TCP mode if the UDP response was truncated (i.e. had TC bit set).
-t type
Perform DNS query of type type, which can be any standard query type name ( A, CNAME, MX, TXT, etc), a wildcard query ( ANY), or TYPE N, where N is a number from 1 to 65535. For IXFR (incremental zone transfer) queries the starting serial number can be specified by appending an equal sign followed by the number (e.g. -t IXFR=12345678).

The default is to query for A, AAAA, and MX records, unless -C or -l options are given (in which case SOA or AXFR queries are made) or name is a valid IP address (in which case reverse lookup using PTR query is performed).

Produce verbose output.
Wait forever (or for a very long time) for response from the name server.
-W wait
Wait this many seconds for a reply from name server before timing out. If wait is negative or zero, value of 1 is used. The default is to wait 10 seconds for TCP connections, and 5 seconds for UDP (both are subject to retries, see option -R).
Only use IPv4 transport.
Only use IPv6 transport.




host aims to be reasonably compatible with ‘host’ utility from BIND9 distribution, both in supported options and in produced output. Here is a list of known notable differences:
  • Debugging options ( -D and -m) are not supported.
  • Query class CLASS0 and type TYPE0 are not supported.
  • Backslashes in domain names are treated especially.
  • The maximum of 255 retries (option -R) are supported.
  • Some resource records are formatted differently. For example, RRSIG and DNSKEY records are displayed without spaces in them.
  • When parsing /etc/resolv.conf commands sortlist and options are ignored. When multiple search and/or domain commands are present, host first uses the last domain command, and then all of search commands, while ‘host’ from BIND9 uses whatever command was specified last.
  • Multi-packet zone transfers are not supported; only the first response packet is printed.
  • ‘Pseudosection TSIG’ is missing from verbose packet output.


Vitaly Magerya <magv@tx97.net>
August 27, 2012 FreeBSD