Runner: Dns

Interact with Dns

Runner: Dns

AI-generated

Overview

This node performs DNS queries for given domain names using specified DNS resolvers and query types. It is designed to resolve various DNS record types (such as A, AAAA, TXT, CNAME, NS, MX, etc.) by sending requests to one or more DNS resolver endpoints. The node collects the DNS responses and outputs structured data representing the DNS records found.

Common scenarios where this node is beneficial include:

  • Verifying DNS configurations for domains.
  • Gathering DNS information for security analysis or threat intelligence.
  • Automating domain-related checks in workflows, such as validating email server records (MX) or service discovery (SRV).
  • Debugging DNS resolution issues by querying multiple resolvers with timeout control.

Practical example:

  • A user inputs a list of domain names and wants to retrieve their A and MX records from Google DNS and Cloudflare DNS with a 1-second timeout. The node queries these resolvers and returns the DNS records, allowing further processing or alerting based on the results.

Properties

Name Meaning
Only Success Boolean flag to indicate whether to output only successful DNS query results (true/false).
Query Type Types of DNS records to query. Options include: A, AAAA, TXT, CNAME, NS, MX, PTR, SOA, SRV, NAPTR, ANY.
Timeout Timeout in milliseconds for each DNS query request.
Resolvers List of DNS resolver URLs to send queries to. Multiple resolvers can be specified.
Advanced Config Additional advanced configuration options including environment variables, files, and file collection settings.
Debug Mode Boolean flag to enable debug mode, which provides more detailed input and output information.

Output

The node outputs JSON data containing DNS query results for each input domain. The structure is an array where each element corresponds to an input domain and contains DNS records grouped by record type. Each DNS record includes relevant fields depending on its type.

If no DNS records are found for a domain, the output for that domain will be empty or reflect failure depending on the "Only Success" setting.

The node does not output binary data.

Dependencies

  • Requires Node.js environment capable of running JavaScript code.
  • Uses external DNS resolver services specified by the user (e.g., Google DNS, Cloudflare DNS).
  • Reads a local script file (script.js) bundled alongside the node for DNS resolution logic.
  • No internal credential or API key is required by default, but users must provide valid resolver URLs if custom ones are used.

Troubleshooting

  • Timeouts: If DNS queries time out frequently, consider increasing the "Timeout" property or verifying network connectivity to the specified resolvers.
  • Empty Results: If no DNS records are returned, check that the domain names are valid and that the selected query types are appropriate.
  • Invalid Resolver URLs: Ensure that resolver URLs are correctly formatted and accessible; otherwise, queries will fail.
  • Debug Mode: Enable "Debug Mode" to get more detailed logs in the node's input and output, which can help diagnose issues.
  • Script File Missing: The node depends on a local script.js file for DNS resolution. If missing or corrupted, the node will fail to execute.

Links and References

Discussion