---
name: "host"
section: "1"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/host"
---

# host(1)

DNS lookup utility

## NAME

**host** – DNS lookup utility

## SYNOPSIS

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

## DESCRIPTION

**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:

- **-a**

  Make a verbose query of type **ANY**. Equivalent to **-v** **-t** **ANY**.

- **-C**

  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**.

- **-d**

  Produce verbose output.  This is a synonym for **-v**, and is provided for backward compatibility.

- **-i**

  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.

- **-l**

  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*.

- **-r**

  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.

- **-s**

  Report SERVFAIL responses as they are, do not ignore them.

- **-T**

  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).

- **-v**

  Produce verbose output.

- **-w**

  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**).

- **-4**

  Only use IPv4 transport.

- **-6**

  Only use IPv6 transport.

## FILES

*/etc/resolv.conf*

## SEE ALSO

[drill(1)](/drill/1.md), [resolv.conf(5)](/resolv.conf/5.md)

## COMPATIBILITY

**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.

- ‘Pseudosection TSIG’ is missing from verbose packet output.

## AUTHORS

Vitaly Magerya ⟨magv@tx97.net⟩
