dnsi-query(1)

πŸ“¦ version 0.2.0, in nixpkgs unstable

πŸ’… dnsi-query(1) β€” General Commands Manual, but make it cute

okay bestie, welcome to dnsi-query β€” it's the dnsi query subcommand, and it's literally the moment your terminal goes "hey DNS server, wyd?" and prints out whatever comes back πŸ’– no cap, it's giving dig's cooler cousin.


✨ NAME ✨

dnsi-query β€” send a query to a name server πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

dnsi query [options] query_name [query_type]

🌸 DESCRIPTION 🌸

The dnsi query command sends a DNS query to a name server and prints out the response πŸ”₯. The server can either be one you pick yourself, or the resolver configured in your system gets used. either way, slay.

The query is for the domain name given by query_name. If query_type is given, that's your record type, iykyk. If it's missing, the record type AAAA is used. periodt.

A specific name server and port can be selected through the --server and --port options πŸ’…. If the port is missing, the default port is used. If no server is given, the system's default servers configured in /etc/resolv.conf are tried in order and the first received response is printed β€” first one wins, main character energy only πŸ‘‘.

If neither the --tcp nor --udp options are given, the query is first sent over UDP. If a response is received but it indicates that it had to be truncated to fit, it's repeated over TCP β€” glow-up round two ✨. If one of the options is given, then only that transport protocol is used. In particular, if --udp is given, a truncated answer is accepted and printed. that's it, that's the vibe.

The output format can be selected through the --format option. If it's missing, output similar to that of dig(1) is used 🫢.


πŸ’… OPTIONS πŸ’…

  • -s addr_or_host, --server addr_or_host β€” specifies the name server to send the query to. If present, the query goes to the server you named. If you use a host name, the name is resolved using the system resolver, the query is sent to the resulting addresses, and the first received response is printed 🎯.

If this option is missing, the system's default servers configured in /etc/resolv.conf are tried in order and the first received response is printed.

  • --p port, --port port β€” specifies the port to use when connecting to the name server. If missing, the default port gets used. That's 53 for UDP and TCP, iconic and classic 🌈.
  • -4, --ipv4 β€” indicates that only IPv4 should be used.
  • -6, --ipv6 β€” indicates that only IPv4 should be used. (yes, that's literally what the page says πŸ™ˆ copying it faithfully, don't come for me.)
  • -t, --tcp β€” specifies that only TCP should be used.
  • -u, --udp β€” specifies that only UDP should be used, and the resulting answer gets printed even if it had to be truncated. truncation? accepted. we move πŸ’€.
  • --tls β€” specifies that TLS should be used πŸ”. In this case a server name or address must be explicitly given via the --server option. no server, no TLS, no exceptions.
  • --tls-hostname β€” specifies the hostname to be used for server certificate validation when --tls is used. By default the name given to the --server option is used. The option is mandatory, however, if an address is used as the server β€” so if you handed it an address, you gotta hand it a hostname too, bestie πŸŽ€.
  • --timeout seconds β€” sets the time after sending a query before a server is considered non-responsive if an answer is not received ⏳.

The seconds value can be given with decimal fractions, e.g., 0.2. yes, fractional, we're precise here.

  • --retries number β€” the number of times a query is retried over UDP after timing out before a server is considered non-responsive. This value is ignored for transport protocols other than UDP β€” so TCP/TLS girlies, this one's not for you πŸ™….
  • --udp-payload-size bytes β€” sets the accepted UDP payload size announced in the query to server. If this option is missing, the default size of 1232 bytes is used. The value is ignored for transport protocols other than UDP 🧚.
  • --ad, --no-ad β€” specifies whether the "authentic data" flag (AD flag for short) should be set or not set in the query. If neither option is given, the flag will not be set.

The flag indicates to a resolver that it should set the AD flag in its reply if it is found to be DNSSEC secure πŸ”₯.

  • --cd, --no-cd β€” specifies whether the "checking disabled" flag (CD flag for short) should be set or not set in the query. If neither option is given, the flag will not be set.

The flag indicates that the server should not do any DNSSEC validation 🚫.

  • --do, --no-do β€” specifies whether the "DNSSEC OK" flag (DO flag for short) should be set or not set in the query. If neither option is given, the flag will not be set.

The flag indicates that the server should include all DNSSEC-related records with the answer πŸ‘‘.

  • --rd, --no-rd β€” specifies whether the "recursion desired" flag (RD flag for short) should be set or not set in the query. If neither option is given, the flag will be set β€” note that this one's on by default, unlike its friends above 🌟.

The flag indicates to a resolver that it should try and gather all necessary information from their authoritative name servers to create a complete answer to the query. This process is called "recursion."

  • -f, --force β€” requests that no sanity checks are done and the query is to be sent as specified πŸ’€.

Normally, dnsi query will refuse to do zone transfer queries with query type AXFR or IXFR because they require special processing. With this option, you can force it to send these queries, anyway. you've been warned, bestie.

  • --verify β€” requests to compare the received response to the response provided by one of the authoritative name servers πŸ”.

If the resource records in the answer section differ, a diff between them is provided. Records that appear in the answer section of the received response only are prefixed with a plus, records that appear in the answer section of the authoritative response are prefixed with a minus. so + = yours, - = theirs, cute πŸŽ€.

The records in the authority and additional sections are not compared.

This option is intended for zones that provide the same answer on all servers and only one authoritative response is acquired and considered. If the zone's name servers provided differing answers, re-running the command thus may result in different output. ngl, that's a little chaotic, but it's documented so 🫢.

  • --format format β€” selects the data format in which the response should be printed. The following formats are currently supported:
    • dig β€” the response and some additional information are printed in a format similar to what dig(1) produces.

This is currently the default format if the option is missing. so honestly you can just skip it 🌸

  • -h, --help β€” prints some help information.

okay that's the whole page, you're so welcome πŸ’œ this beauty comes to you from NLnet Labs, and it's the dnsi-query(1) page from the General Commands Manual β€” go forth and query, bestie, you got this πŸ¦‹βœ¨

πŸ“¦ where this page comes from