133 lines
3.5 KiB
Text
133 lines
3.5 KiB
Text
---
|
||
title: awl(1)
|
||
subtitle: A simple DNS client
|
||
goimport:
|
||
url: dns.froth.zone/awl
|
||
vcs: git
|
||
repo: https://git.froth.zone/sam/awl
|
||
branch: master
|
||
gitea: true
|
||
layout: layouts/base.pug
|
||
---
|
||
|
||
[awl](https://git.froth.zone/sam/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)`](https://linux.die.net/man/1/drill):
|
||
|
||
```
|
||
❯ 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)`](https://man.openbsd.org/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](./man), too!
|
||
|
||
```xml
|
||
❯ awl +quic --xml codeberg.org
|
||
<Msg>
|
||
<Id>22108</Id>
|
||
<Response>true</Response>
|
||
<Opcode>0</Opcode>
|
||
<Authoritative>false</Authoritative>
|
||
<Truncated>false</Truncated>
|
||
<RecursionDesired>true</RecursionDesired>
|
||
<RecursionAvailable>true</RecursionAvailable>
|
||
<Zero>false</Zero>
|
||
<AuthenticatedData>false</AuthenticatedData>
|
||
<CheckingDisabled>false</CheckingDisabled>
|
||
<Rcode>0</Rcode>
|
||
<Compress>false</Compress>
|
||
<Question>
|
||
<Name>codeberg.org.</Name>
|
||
<Qtype>1</Qtype>
|
||
<Qclass>1</Qclass>
|
||
</Question>
|
||
<Answer>
|
||
<Hdr>
|
||
<Name>codeberg.org.</Name>
|
||
<Rrtype>1</Rrtype>
|
||
<Class>1</Class>
|
||
<Ttl>3600</Ttl>
|
||
<Rdlength>4</Rdlength>
|
||
</Hdr>
|
||
<A>193.26.156.135</A>
|
||
</Answer>
|
||
</Msg>
|
||
```
|
||
|
||
------
|
||
|
||
A full list of the features `awl` supports can be found [here](https://git.froth.zone/sam/awl/wiki/Supported).
|