--- 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 22108 true 0 false false true true false false false 0 false codeberg.org. 1 1 codeberg.org. 1 1 3600 4 193.26.156.135 ``` ------ A full list of the features `awl` supports can be found [here](https://git.froth.zone/sam/awl/wiki/Supported).