Resolve list of DNS hostnames.
Project description
resolve-hosts
Resolve list of DNS hostnames.
This is a Python module designed to fit the need of a simple app that can query an input list of DNS names and output their resolved IP addresses. It defaults to using the local system resolver for lookups, but can instead use a list of one or more custom DNS resolvers supplied on the command line.
Installation
This is a setuptools package; install using pip:
pip install resolve-hosts
It's recommended to use pipx for easy setup and isolation:
pipx install resolve-hosts
Usage
The module installs a command line tool called resolve-hosts
that should be
in your PATH
. For a usage overview, see the output of resolve-hosts -h
.
Feed it a newline-separated list of names as a parameter. To read from
standard input, omit the parameter or use -
for the input.
A file with a few sample names to resolve is in the tests/
folder.
Example using the local system resolver:
$ resolve-hosts tests/testnames.txt
www.example.com 93.184.216.34
blocked.test.on.quad9.net NXDOMAIN
mxs.mail.ru 94.100.180.31 217.69.139.150
magnolia.ns.cloudflare.com 172.64.34.214 108.162.194.214 162.159.38.214
The above system is clearly configured to use Quad9 resolvers, as the local resolver returned NXDOMAIN for the test FQDN.
Using specified resolvers and debug output enabled:
$ resolve-hosts -s 8.8.4.4 -s 8.8.8.8 -d tests/testnames.txt
[DEBUG] configured to use resolver(s): ['8.8.4.4', '8.8.8.8']
[DEBUG] effective resolver address(es): ['8.8.4.4', '8.8.8.8']
www.example.com 93.184.216.34
blocked.test.on.quad9.net 127.0.0.1
mxs.mail.ru 217.69.139.150 94.100.180.31
magnolia.ns.cloudflare.com 172.64.34.214 108.162.194.214 162.159.38.214
JSON output from data on stdin:
$ resolve-hosts -j < tests/testnames.txt
{
"data": [
{
"www.example.com": [
"93.184.216.34"
]
},
{
"blocked.test.on.quad9.net": [
"NXDOMAIN"
]
},
{
"mxs.mail.ru": [
"217.69.139.150",
"94.100.180.31"
]
},
{
"magnolia.ns.cloudflare.com": [
"162.159.38.214",
"108.162.194.214",
"172.64.34.214"
]
}
]
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file resolve-hosts-0.2.3.tar.gz
.
File metadata
- Download URL: resolve-hosts-0.2.3.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52b6398b5cf5e8ad3f097a2a33dc217713448eab5049f92096ccd9b7d7945bd9 |
|
MD5 | 89b301155d235826fb73245038f81822 |
|
BLAKE2b-256 | 5f90a7ebcffc9abf40e3ca0411d1e082210e554f95bdf81f3936c994b90a76b0 |
File details
Details for the file resolve_hosts-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: resolve_hosts-0.2.3-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b18ab79fedd6542d86638e537c689636d262158df649bf9b166f3770d39944a8 |
|
MD5 | 541e9a4a9681d053a85d4c6d97e7d7d8 |
|
BLAKE2b-256 | a02343db716849e9e37673716c6a1540c4ac2424b5cd3b32ed8d4bd19972c2b8 |