Manual browser: getaddrinfo(1)

GETADDRINFO(1) General Commands Manual GETADDRINFO(1)


getaddrinforesolve names to socket addresses


getaddrinfo [-cNnP] [-f family] [-p protocol] [-s service[/protocol]] [-t socktype] [hostname]


The getaddrinfo utility resolves host and service names to socket addresses as if with the getaddrinfo(3) routine and formats them to standard output.

The output is a sequence of lines of space-separated fields:

socket-type address-family protocol [af-specific data ...]

For the “inet” and “inet6” address families, the af-specific data are the IP/IPv6 address and port number.

Although the getaddrinfo utility may query the DNS to give answers, depending on the system's nsswitch.conf(5) configuration, it is not intended to be a general-purpose utility to query the DNS; use the dig(1) utility for that.

The following options are available:

Look up a canonical name as if with the AI_CANONNAME flag to getaddrinfo(3) and print it on the first line before the socket addresses.
-f family
Specify an address family. Address families are named like the AF_... constants for address family numbers in the <sys/socket.h> header file but without the AF_ prefix and lowercase. For example, “inet” corresponds with AF_INET.
Treat the service as numeric and do not attempt service name resolution, as if with the AI_NUMERICSERV flag to getaddrinfo(3).
Treat the hostname as a numeric address and do not attempt name resolution, as if with the AI_NUMERICHOST flag to getaddrinfo(3).
Return socket addresses intended for use with bind(2), as if with the AI_PASSIVE flag to getaddrinfo(3). By default, the socket addresses are intended for use with connect(2), sendto(2), or sendmsg(2).
-p protocol
Specify a protocol. Protocols may be numeric, or symbolic as listed in protocols(5).
-s service[/protocol]
Specify a service to look up. Services may be symbolic or numeric with an optional protocol suffix as listed in services(5). If no service is specified, a hostname must be specified.
-t socktype
Specify a socket type. Socket types are named like the SOCK_... constants for socket type numbers in the <sys/socket.h> header file but without the SOCK_ prefix and lowercase. For example, “dgram” corresponds with SOCK_DGRAM.


The getaddrinfo utility exits 0 on success, and >0 if an error occurs.


Look up “”:

$ getaddrinfo 
dgram inet6 udp 2001:4f8:3:7:2e0:81ff:fe52:9ab6 0 
dgram inet udp 0 
stream inet6 tcp 2001:4f8:3:7:2e0:81ff:fe52:9ab6 0 
stream inet tcp 0

The port number here is zero because no service was specified.

Look up “” for stream sockets on port 80, and show the canonical name:

$ getaddrinfo -c -t stream -s 80 
stream inet6 tcp 2001:470:1f05:3d::21 80 
stream inet tcp 80


The getaddrinfo command first appeared in NetBSD 7.0.
April 22, 2014 NetBSD 7.0