s6-dns
Software
skarnet.org
The s6-dnsip program
s6-dnsip finds both the IPv6 and IPv4 addresses associated to a domain name.
Interface
s6-dnsip [ -q ] [ -H | -h ] [ -r ] [ -t timeout ] domain
- s6-dnsip makes both an A and an AAAA query for the name domain,
in parallel. It waits for the results and prints the obtained addresses,
one per line, then exits 0.
- If the domain exists but no relevant field has been found, it exits 1.
- If the DNS answered but no answer is available, it prints a relevant
error message and exits 2.
- By default, s6-dnsip looks for DNS cache addresses in the
/etc/resolv.conf file. If the DNSCACHEIP environment variable is set
and contains a list of IP (v4 or v6) addresses, separated by commas,
semicolons, spaces, tabs, newlines or carriage returns, then this list
is used instead.
Options
- -q : qualify. Qualifies domain before resolution,
according to suffixes found in /etc/resolv.conf. If the DNSQUALIFY
environment variable is set and contains a list of suffixes separated by spaces,
tabs, newlines or carriage returns, then this list is used instead. By
default, no qualification is used: if domain is not a FQDN, a dot
is just appended to it.
- -H : do not use data from /etc/hosts. This is
the default.
- -h : use data from /etc/hosts, if available.
If there's a compiled /etc/hosts.cdb file that is newer than /etc/hosts,
it will be used instead. (See
s6-dns-hosts-compile for details.)
- -r : random. By default, the program does not sort the
result, but prints them in the order received from the DNS. With this
option, it performs a random permutation on the results before printing
them.
- -t timeout : if the resolution takes more
than timeout milliseconds, then it exits 99 right away with an error
message. By default, timeout is 0, which means no timeout.
Notes
Even if the underlying skalibs has been compiled without IPv6 support,
or IPv6 DNS transport is unavailable for any reason, s6-dnsip will still
return IPv6 addresses if the AAAA query has a positive result.