13 个版本 (稳定版)
2.0.0 | 2022 年 9 月 18 日 |
---|---|
1.3.0 | 2022 年 2 月 18 日 |
1.2.3 | 2022 年 1 月 31 日 |
1.2.1 | 2021 年 11 月 17 日 |
0.1.0 | 2020 年 11 月 29 日 |
#1442 在 命令行工具
每月 42 次下载
270KB
5K SLoC
toluol
toluol
是一个用于进行 DNS 查询的命令行工具,旨在替代 dig
。它可以用于所有类型的 DNS 查询,包括
- 常规 DNS 查询
- 带有
+do
标志的 DNSSEC 记录查询 - 带有
dot/
标志的 DNS over TLS (DoT)+tls
- 带有
+doh
/+https
标志的 DNS over HTTPS (DoH) - 带有
+http
标志的 DNS over HTTP (DoH 但不带 TLS,非常适合本地调试 DoH) - 带有
-x
选项的反向查询
其他有用功能包括
- 默认为简洁的输出 —— 可选择详细输出
- 默认支持 IPv6
- 脚本友好的选项
此存储库包含一个用于创建、编码和解析 DNS 消息的库 crate,以及一个用于从命令行进行 DNS 查询的二进制 crate。
要查看库大部分功能的使用示例,请查看二进制文件的代码(src/main.rs
)。
安装
Arch Linux (AUR)
yay-S toluol
通过 cargo install
cargoinstall toluol
向cargo-update
致敬——在按照上述方法安装了toluol
之后,您可以通过cargo install-update toluol
来更新它,如果您已安装了cargo-update
(或者运行cargo install-update -a
来更新通过cargo install
安装的所有包)。
示例
AAAA查询
# the query type is not case-sensitive and order of the arguments does not matter, so `toluol example.com aaaa` would also work
# also, AAAA is the default query type, so in this case just `toluol example.com` would work as well
$ toluol AAAA example.com
example.com. 30283 AAAA 2606:2800:220:1:248:1893:25c8:1946
response from ordns.he.net:53 in 23 ms
使用指定名称服务器的DNS over TLS (DoT) 查询
# or `toluol @dns.google AAAA example.com +tls`
$ toluol @dns.google AAAA example.com +dot
example.com. 86400 AAAA 2606:2800:220:1:248:1893:25c8:1946
response from dns.google:853 in 35 ms
带有DNSSEC记录的查询
$ toluol AAAA example.com +do
example.com. 26860 AAAA 2606:2800:220:1:248:1893:25c8:1946
example.com. 26860 RRSIG AAAA 8 2 86400 20220309052808 20220216115840 1618 example.com. JlODulmkXKTi5EvxUJDcVh2pDZY8CovFWykPS9HhjbicMQJyCsngkHeRWVzndGU9nTYKiBGRJY2cMPzV5S4Lxh3AojM42xsuT0kQh7dDWOgfuZEeaLbSsZgLA1Xy2WnrxHlHv965cOMDcylqXHi7WEgBhiFTBMP6w6R5vgKxp5w=
response from ordns.he.net:53 in 15 ms
详细输出
$ toluol AAAA example.com
Header:
id: 57320, opcode: QUERY, rcode: NOERROR, flags: rd ra ad cd
OPT Pseudosection:
EDNS: Version 0, flags: <none>; payload size: 512
Question Section:
example.com. AAAA
Answer Section:
example.com. 28653 AAAA 2606:2800:220:1:248:1893:25c8:1946
Query metadata:
Time: 15 ms
Reply size: 68 bytes
Server: ordns.he.net:53
逆向查询
$ toluol -x 2001:470:20::2
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.7.4.0.1.0.0.2.ip6.arpa. 86400 PTR ordns.he.net.
response from ordns.he.net:53 in 141 ms
使用cut(1)
仅打印RDATA
$ toluol MX gmail.com +no-padding +no-meta | cut -d' ' -f4-
10 alt1.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
40 alt4.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
20 alt2.gmail-smtp-in.l.google.com.
使用jq(1)
仅以JSON数组格式打印RDATA
$ toluol MX gmail.com +json | jq '[.[] | .rdata]'
[
[
"10",
"alt1.gmail-smtp-in.l.google.com."
],
[
"5",
"gmail-smtp-in.l.google.com."
],
[
"40",
"alt4.gmail-smtp-in.l.google.com."
],
[
"30",
"alt3.gmail-smtp-in.l.google.com."
],
[
"20",
"alt2.gmail-smtp-in.l.google.com."
]
]
有用资源
许可证
见LICENSE.txt
。
版权(c)2022 Max von Forell
依赖关系
~12–23MB
~447K SLoC