dog是一款功能强大的命令行式彩色dns查询工具,这款软件同时支持dot与doh协议。dog最新版有着强大的兼容性,支持mac、windows、linux三种系统,与多种参数,而且能够发送到json。该软件有着多彩的输出,与dig的工作原理有点相似,能够理解正常的参数语法,专业性极强。
dog电脑版可以帮助用户查询电脑的相关内容,通过命令行功能更加容易确认自己dns链接,满足不同用户之间的需求,轻松满足日常的需要,实用性极强。
软件特色
1、支持的查询参数
A、AAAA、CAA、CNAME、HINFO、LOC、MX、NAPTR、NS、OPT、PTR、SOA、SRV、SSHFP、TLSA、TXT。
2、命令行DNS查询工具
主要是用来查询域名的DNS信息,比如A、TXT、NS、MX等等,使用简单,比dig还要简单,只需要在域名后跟上想要查询的内容名称即可。
比如:$ dog appinn.com A AAAA NS MX TXT
这将查询appinn.com域名的解析记录、域名服务器、邮件服务器以及 TXT 信息,彩色非常好辨识。不像dig查询之后一大堆信息。
3、DNS-over-TLS and DNS-over-HTTPS 协议
支持 DoT(–tls) 和 DoH(-H) 协议:
$ dog www.appinn.com --tls @dns.google
$ dog www.appinn.com -H @https://cloudflare-dns.com/dns-query
系统要求
Ubuntu 20.04.1 LTS
支持查询参数
A
AAAA
CAA
CNAME
HINFO
LOC
MX
NAPTR
NS
OPT
PTR
SOA
SRV
SSHFP
TLSA
TXT
使用教程
Dog是用Rust编写的DNS查询工具。Dog需要rustc的版本高于1.45.0,我们使用apt安装的版本达不到这个要求,下面我们会使用其他方式安装rustc。下面需要先安装libssl-dev安装包:
bob @ubuntu- 20- 04:~$ sudo apt install -y cargo libssl-dev
下面安装rust,由于按照官方文档安装rust,有时下载没有进度,所以在这里先修改镜像源,改成国内的,然后执行安装:
bob @ubuntu- 18- 04:~$ export RUSTUP_DIST_SERVER=https: //mirrors.ustc.edu.cn/rust-static
bob @ubuntu- 18- 04:~$ export RUSTUP_UPDATE_root=https: //mirrors.ustc.edu.cn/rust-static/rustup
bob @ubuntu- 18- 04:~$ curl https: //sh.rustup.rs -sSf | sh
在下面的地方,选择选项1.
安装完成,需要执行下面命令,才能正常使用cargo命令
bob @ubuntu- 18- 04:~$ source $HOME/.cargo/env
下面检查rustc的版本:
bob @ubuntu- 18- 04:~$ rustc --version
rustc 1.47.0 ( 18bf6b4f0 2020- 10- 07)
从github下载dog安装包,并解压:
bob @ubuntu- 20- 04:~$ wget https: //github.com/ogham/dog/archive/v0.1.0.tar.gz
bob @ubuntu- 20- 04:~$ tar xvf v0.1.0.tar.gz
进入解压出来的目录,并构建dog程序:
bob @ubuntu- 20- 04:~$ cd dog- 0.1.0/
使用默认的仓库地址更新会比较慢,在这里按ctrl+c结束更新,在家目录会生成一个.cargo文件夹,进去新建一个config配置文件,将下面内容添加进去这样修改默认仓库,更新速度就快许多了:
bob @ubuntu- 20- 04:~/dog- 0.1.0$ cat ~/.cargo/config
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'sjtu'
#replace-with = 'ustc'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
修改完成之后,再回到dog-0.1.0目录里面,重新构建dog程序,并运行测试一 下:
bob @ubuntu- 18- 04:~/dog- 0.1.0$ cargo build
bob @ubuntu- 18- 04:~/dog- 0.1.0$ cargo test