awl is a simple DNS query client, much like dig and drill.

❯ awl NS froth.zone @https://dns.froth.zone/dns-query 
;; opcode: QUERY, status: NOERROR, id: 46274
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 8

;; QUESTION SECTION:
;froth.zone.    IN       NS

;; ANSWER SECTION:
froth.zone.     1650    IN      NS      illya.froth.zone.
froth.zone.     1650    IN      NS      rin.froth.zone.
froth.zone.     1650    IN      NS      sakura.froth.zone.
froth.zone.     1650    IN      NS      saber.froth.zone.

;; ADDITIONAL SECTION:
rin.froth.zone. 1650    IN      AAAA    2607:5300:201:3100::931b
sakura.froth.zone.      1650    IN      AAAA    2001:41d0:304:200::d12b
saber.froth.zone.       1650    IN      AAAA    2602:fe90:100:2::164d:4c70
illya.froth.zone.       1650    IN      AAAA    2603:c020:4004:62ee::8888
rin.froth.zone. 1650    IN      A       158.69.1.114
sakura.froth.zone.      1650    IN      A       141.94.206.97
saber.froth.zone.       1650    IN      A       45.13.232.162
illya.froth.zone.       1650    IN      A       129.213.157.255

;; Query time: 404.9936ms
;; SERVER: https://dns.froth.zone/dns-query
;; WHEN: Never
;; MSG SIZE  rcvd: 489

awl understands DNSSEC, like drill(1):

❯ awl brokendnssec.net @1.1.1.1 --tcp
;; opcode: QUERY, status: SERVFAIL, id: 45766
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;brokendnssec.net.      IN       A

;; Query time: 6.0461ms
;; SERVER: 1.1.1.1:53 (TCP)
;; WHEN: Never
;; MSG SIZE  rcvd: 34
❯ awl brokendnssec.net @1.1.1.1 --cd +tcp
;; opcode: QUERY, status: NOERROR, id: 37917
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;brokendnssec.net.      IN       A

;; ANSWER SECTION:
brokendnssec.net.       294     IN      A       172.67.36.129
brokendnssec.net.       294     IN      A       104.22.35.212
brokendnssec.net.       294     IN      A       104.22.34.212

;; Query time: 8.4461ms
;; SERVER: 1.1.1.1:53 (TCP)
;; WHEN: Never
;; MSG SIZE  rcvd: 130

It supports many of the flags that dig(1) does:

❯ awl +noquestion +noauthority +nostats cat-v.org
;; opcode: QUERY, status: NOERROR, id: 39675
;; flags: qr rd ra; QUERY: 0, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; ANSWER SECTION:
cat-v.org.      9418    IN      A       168.235.69.224

And some new features, too!

❯ awl +quic --xml codeberg.org
 <Message>
  <opcode>QUERY</opcode>
  <status>NOERROR</status>
  <id>51837</id>
  <response>true</response>
  <authoritative>false</authoritative>
  <truncated>false</truncated>
  <recursionDesired>true</recursionDesired>
  <recursionAvailable>true</recursionAvailable>
  <zero>false</zero>
  <authenticatedData>false</authenticatedData>
  <checkingDisabled>false</checkingDisabled>
  <opt>
    <name>Version</name>
  <value>0</value>
  </opt>
  <opt>
    <name>Flags</name>
    <value></value>
  </opt>
  <opt>
    <name>UDP Buffer Size</name>
    <value>1232</value>
  </opt>
  <question>
    <name>codeberg.org.</name>
    <class>IN</class>
    <type>A</type>
  </question>
  <answer>
    <response>193.26.156.135</response>
    <name>codeberg.org.</name>
    <ttl>449</ttl>
    <class>IN</class>
    <type>A</type>
  </answer>
  <queryTime>128.726593ms</queryTime>
  <server>dns.adguard.com:853 (QUIC)</server>
  <when>Thu, 13 Oct 2022 15:29:58 +0200</when>
  <msgSize>69</msgSize>
</Message>

A full list of the features awl supports can be found here.