NAME
getaddrinfo —
resolve names to socket
addresses
SYNOPSIS
getaddrinfo |
[-cNnP]
[-f
family]
[-p
protocol]
[-s
service[/protocol]]
[-t
socktype]
[hostname] |
DESCRIPTION
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:
-
-
- -c
- 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
.
-
-
- -N
- Treat the service as numeric and do not attempt service
name resolution, as if with the
AI_NUMERICSERV
flag to
getaddrinfo(3).
-
-
- -n
- Treat the hostname as a numeric address and do not attempt
name resolution, as if with the
AI_NUMERICHOST
flag to
getaddrinfo(3).
-
-
- -P
- 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
.
EXIT STATUS
The
getaddrinfo utility exits 0 on success,
and >0 if an error occurs.
EXAMPLES
Look up “www.NetBSD.org”:
$ getaddrinfo www.NetBSD.org
dgram inet6 udp 2001:4f8:3:7:2e0:81ff:fe52:9ab6 0
dgram inet udp 149.20.53.67 0
stream inet6 tcp 2001:4f8:3:7:2e0:81ff:fe52:9ab6 0
stream inet tcp 149.20.53.67 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 199.233.217.249 80
SEE ALSO
dig(1),
getent(1),
getaddrinfo(3),
getnameinfo(3),
resolver(3),
hosts(5),
nsswitch.conf(5),
protocols(5),
resolv.conf(5),
services(5)
HISTORY
The
getaddrinfo command first appeared in
NetBSD 7.0.