dns怎么查看命令 dns查看命令的方法讲解

Dog是一个用于DNS查询的命令行工具,它的工作原理类似于dig。它具有丰富多彩的输出,支持DNS-over-TLS 和 DNS-over-HTTPS协议,并且可以输出JSON格式。系统环境LTS安装Dog是一个

本文最后更新时间:  2023-04-20 21:39:14

Dog是一个用于DNS查询的命令行工具,它的工作原理类似于dig。它具有丰富多彩的输出,支持DNS-over-TLS 和 DNS-over-HTTPS协议,并且可以输出JSON格式。

系统环境

LTS

安装

Dog是一个用Rust写的DNS查询工具。狗需要rustc高于1.45.0的版本,而我们用apt安装的版本达不到这个要求。我们将在下面以其他方式安装rustc。首先需要安装libssl-dev安装包:

bob@ubuntu-20-04:~$ sudo apt install -y cargo libssl-dev

下面安装铁锈。因为rust是按照官方文件安装的,有时候下载没有进度,所以这里先修改图片来源,改成国内,然后进行安装:

bob@ubuntu-18-04:~$ export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-staticbob@ubuntu-18-04:~$ export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustupbob@ubuntu-18-04:~$ curl https://sh.rustup.rs -sSf | sh


在下面的地方,选择选项1。


安装完成,需要执行下面命令,才能正常使用cargo命令:
安装完成后,您需要执行以下命令才能正常使用cargo命令:

bob@ubuntu-18-04:~$ source $HOME/.cargo/env

检查下面的rustc版本:

bob@ubuntu-18-04:~$ rustc --versionrustc 1.47.0 (18bf6b4f0 2020-10-07)


从github下载狗安装包并解压:

bob@ubuntu-20-04:~$ wget https://github.com/ogham/dog/archive/v0.1.0.tar.gzbob@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

[来源:板条箱-io]

注册表= “https://github.com/rust-lang/crates.io-index” #替换为您喜欢的图像源Replace-with = ‘上海交通大学’# replace-with = ‘中国科学技术大学’#清华大学

[来源.金枪鱼]

注册表= “https://mirrors . tuna . Tsinghua . edu . cn/git/crates . io-index . git ”#中国科学技术大学

[来源:中国科技大学]

注册表= “git://mirrors . ustc . edu . cn/crates . io-index ”#上海交通大学

【来源. sjtu】

注册表= “https://mirrors . sjtug . sjtu . edu . cn/git/crates . io-index ”# rustcc社区

[来源. rustcc]

注册表= “git://crates . rustcc . cn/crates . io-index ”


修改后,返回到dog-0.1.0目录,重新构建dog程序,并运行以下测试:

bob@ubuntu-18-04:~/dog-0.1.0$ cargo buildbob@ubuntu-18-04:~/dog-0.1.0$ cargo test


确保dog命令从任何目录运行,将二进制文件放在/usr/local/bin目录中。
确保从任何目录运行dog命令,并将二进制文件放在/usr/local/bin目录中。

bob@ubuntu-18-04:~/dog-0.1.0$ sudo cp -p ~/dog-0.1.0/target/debug/dog /usr/local/bin

运行狗工具并检查以下版本:

bob@ubuntu-18-04:~$ dog --versiondog ● command-line DNS clientv0.1.0 [] built on 2020-11-19 (pre-release!)https://dns.lookup.dog/bob@ubuntu-18-04:~$


您可以使用源包中的命令来完成脚本。出现提示时,按TAB键两次以显示子命令:

bob@ubuntu-18-04:~$ source ~/dog-0.1.0/completions/dog.bash

如何使用dog命令

现在,让我们看看如何使用dog命令查询不同的DNS记录。

查询记录A

bob@ubuntu-18-04:~$ dog www.baidu.comCNAME www.baidu.com. 5s "www.a.shifen.com." A www.a.shifen.com. 4s 180.101.49.12 A www.a.shifen.com. 4s 180.101.49.11

查询NS记录

bob@ubuntu-18-04:~$ dog aliyun.com NSNS aliyun.com. 5s "ns3.aliyun.com."NS aliyun.com. 5s "ns5.aliyun.com."NS aliyun.com. 5s "ns4.aliyun.com."

使用指定的域名服务器地址查询

bob@ubuntu-18-04:~$ dog google.com MX @1.1.1.1MX google.com. 6m23s 30 "alt2.aspmx.l.google.com."MX google.com. 6m23s 40 "alt3.aspmx.l.google.com."MX google.com. 6m23s 10 "aspmx.l.google.com."MX google.com. 6m23s 50 "alt4.aspmx.l.google.com."MX google.com. 6m23s 20 "alt1.aspmx.l.google.com."

JSON格式输出

bob@ubuntu-18-04:~$ dog A www.baidu.com -J{"responses":[{"additionals":[],"answers":[{"class":"IN","domain":"www.a.shifen.com.","name":"www.baidu.com.","ttl":5,"type":"CNAME"},{"address":"180.101.49.11","class":"IN","name":"www.a.shifen.com.","ttl":4,"type":"A"},{"address":"180.101.49.12","class":"IN","name":"www.a.shifen.com.","ttl":4,"type":"A"}],"authorities":[],"queries":[{"class":"IN","name":"www.baidu.com.","type":1}]}]}

查看帮助

bob@ubuntu-18-04:~$ dog --help

摘要

Dog是DNS查询的命令行工具,工作原理类似于dig。它有丰富多彩的输出,支持DNS-over-TLS和DNS-over-HTTPS协议,并可以输出JSON格式。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。