DNS查詢的命令列工具

2021-10-17 00:19:25 字數 4078 閱讀 3213

dog是乙個用於dns查詢的命令列工具,它的工作原理類似於dig。它具有豐富多彩的輸出,支援dns-over-tls 和 dns-over-https協議,並且可以輸出json格式。

系統環境

安 裝dog是用rust編寫的dns查詢工具。dog需要rustc的版本高於1.45.0,我們使用apt安裝的版本達不到這個要求,下面我們會使用其他方式安裝rustc。下面需要先安裝libssl-dev安裝包:

bob@ubuntu-20-04:~$ sudo apt install -y cargo libssl-dev
《以上**可複製貼上,可往左滑》

bob@ubuntu-18-04:~$ export rustup_dist_server= export rustup_update_root= curl  -ssf | sh
《以上**可複製貼上,可往左滑》

在下面的地方,選擇選項1.

安裝完成,需要執行下面命令,才能正常使用cargo命令

bob@ubuntu-18-04:~$ source $home/.cargo/env
《以上**可複製貼上,可往左滑》

下面檢查rustc的版本:

bob@ubuntu-18-04:~$ rustc --versionrustc 1.47.0 (18bf6b4f0 2020-10-07)
《以上**可複製貼上,可往左滑》

bob@ubuntu-20-04:~$ wget  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 = ""# 替換成你偏好的映象源replace-with = 'sjtu'#replace-with = 'ustc'# 清華大學[source.tuna]registry = ""# 中國科學技術大學[source.ustc]registry = "git:"# 上海交通大學[source.sjtu]registry = ""# rustcc社群[source.rustcc]registry = "git:"
《以上**可複製貼上,可往左滑》

修改完成之後,再回到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目錄中。

bob@ubuntu-18-04:~/dog-0.1.0$ sudo cp -p ~/dog-0.1.0/target/debug/dog /usr/local/bin
《以上**可複製貼上,可往左滑》

執行dog工具,檢視以下版本:

bob@ubuntu-18-04:~$ dog --versiondog ● command-line dns clientv0.1.0  built on 2020-11-19 (pre-release!)
《以上**可複製貼上,可往左滑》

可以使用原始碼包裡面的命令補全指令碼,當需要提示的時候按兩下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,,],"authorities":,"queries":}]}
《以上**可複製貼上,可往左滑》

檢視幫助

bob@ubuntu-18-04:~$ dog --help
《以上**可複製貼上,可往左滑》

以上就是良許教程網為各位朋友分享的linux相關知識。

DNS查詢的命令列工具

dog是乙個用於dns查詢的命令列工具,它的工作原理類似於dig。它具有豐富多彩的輸出,支援dns over tls 和 dns over https協議,並且可以輸出json格式。系統環境 安 裝dog是用rust編寫的dns查詢工具。dog需要rustc的版本高於1.45.0,我們使用apt安裝...

命令列工具

在wince6.0 中,在vs2005 的 build 選單中,有乙個 advanced build commands 其中有很多編譯選項 sysgen 相當於執行命令 blddemo q 一般第一次編譯或者是 改變了 catalog 中的item 的時候,就用這個了。clean sysgen 相當...

命令列工具

執行 scws h 可以看到詳細幫助說明。usage scws options i input o output i string file 要切分的字串或檔案,如不指定則程式自動讀取標準輸入,每輸入一行執行一次分詞 o file 切分結果輸出儲存的檔案路徑,若不指定直接輸出到螢幕 c charse...