Lookup IPv4 and IPv6 addresses for a hostname. Only prints addresses on
stdout
(one per line), errors to stderr
, and hard errors can be
detected through inspecting the exit code.
It uses the [resolv
] crate (specifically the [query
] method), which
uses libresolv.so
which is typically configured via /etc/resolv.conf
to do DNS resolution.
Install from crates.io
with
cargo install alookup
.
alookup mail.google.com
alookup [FLAGS] <NAME>
FLAGS:
-4 Query only IPv4 records (A)
-6 Query only IPv6 records (AAAA)
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<NAME> Name to lookup
0
: success (or NODATA
). You might want to treat an empty address
set (no output) as failure too (similar to NXDOMAIN
).1
: name not found (NXDOMAIN
). If an empty address set is ok for
you, you might want to ignore this exit code.2
: SRVFAIL
, timeouts, failed parsing response, generic resolver failure...3
: failed parsing a specific answer record (might have printed
partial result, but breaks on first broken record)Other exit codes should be treated as failures too; a non-zero exit code
always should show an error on stderr
, and every time an error is
printed to stderr
there should be a non-zero exit code.