Skip to main content

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

resolve-hosts-0.2.3.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

resolve_hosts-0.2.3-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

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

Hashes for resolve-hosts-0.2.3.tar.gz
Algorithm Hash digest
SHA256 52b6398b5cf5e8ad3f097a2a33dc217713448eab5049f92096ccd9b7d7945bd9
MD5 89b301155d235826fb73245038f81822
BLAKE2b-256 5f90a7ebcffc9abf40e3ca0411d1e082210e554f95bdf81f3936c994b90a76b0

See more details on using hashes here.

File details

Details for the file resolve_hosts-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for resolve_hosts-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b18ab79fedd6542d86638e537c689636d262158df649bf9b166f3770d39944a8
MD5 541e9a4a9681d053a85d4c6d97e7d7d8
BLAKE2b-256 a02343db716849e9e37673716c6a1540c4ac2424b5cd3b32ed8d4bd19972c2b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page