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...