tail head cat sleep
QR code linking to this page

Manual Pages  — GETADDRINFO


getaddrinfo – resolve 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 with getaddrinfo(3) and prints them to standard output in a user-friendly format.

The output is a sequence of lines with 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.

Depending on the settings in nsswitch.conf(5), getaddrinfo might query DNS for answers. However, it is not intended to be a general-purpose DNS query utility. Use drill(1) for that.

These 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 are numeric or symbolic as listed in protocols(5).
-s service[/protocol]
  Specify a service to look up. Services are symbolic or numeric with an optional protocol suffix as listed in services(5). If a service is not specified, a hostname is required.
-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 "www.NetBSD.org":
$ getaddrinfo www.NetBSD.org
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 "morden.NetBSD.org" for stream sockets on port 80, and show the canonical name:

$ getaddrinfo -c -t stream -s 80 morden.NetBSD.org
canonname ftp.NetBSD.org
stream inet6 tcp 2001:470:1f05:3d::21 80
stream inet tcp 80


drill(1), getent(1), getaddrinfo(3), getnameinfo(3), resolver(3), hosts(5), nsswitch.conf(5), protocols(5), resolv.conf(5), services(5)


The getaddrinfo command first appeared in NetBSD

GETADDRINFO (1) March 20, 2017

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

I'm not interested in developing a powerful brain. All I'm after is just a mediocre brain, something like the President of the American Telephone and Telegraph Company.
— Alan Turing