java 如何执行dig 命令_dig命令简介
Dig簡介:
Dig是一個在類Unix命令行模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關信息的工具。由于一直缺失Dig man page文檔,本文就權當一個dig使用向導吧。
Dig的源碼是ISC BIND大包的一部分,但是大多編譯和安裝Bind的文檔都不把它包括在內,但是在linux系統下,它通常是某個包的一部分,在Gentoo下是bind-tools,在Redhat/Fedora下是 bind-utils,或者在Debian下是 dnsutils。
如果你要查找Bind的配置相關的信息,你參考我的文章:Bind for the mall LAN(http://www.madboa.com/geek/soho-bind/)。
看懂默認輸出:
最簡單最常見的查詢是查詢一臺主機,但是默認情況下,Dig的輸出信息很詳細。你可能不需要所有的輸出,但是它確實值得知道。下面是一個帶有注釋的查詢:
$ dig www.isc.org
上面是我調用dig 的命令行。
; <<>> DiG 9.2.3 <<>> www.isc.org
;; global options: printcmd
Dig的部分輸出告訴我們一些有關于它的版本信息(version 9.2.3)和全局的設置選項,如果+nocmd在命令行下是第一個參數的話,那么這部分輸出可以通過加+nocmd的方式查詢出來。
;; Got answer:
;; ->>HEADER
在這里,Dig告訴我們一些從DNS返回的技術信息,這段信息可以用選項 +[no]comments來控制顯示,但是小心,禁止掉comments也可能關閉一些其它的選項。
;; QUESTION SECTION:
;www.isc.org. IN A
在這個查詢段中,Dig顯示出我們查詢的輸出,默認的查詢是查詢A記錄,你可以顯示或者禁止掉這些用+[no]question選項
;; ANSWER SECTION:
www.isc.org. 600 IN A 204.152.184.88
最后,我們得到我們查詢的結果。www.isc.org 的地址是204.152.184.8,我不知道為什么你們更喜歡過濾掉這些輸出,但是你可以用+[no]answer保留這些選項。
;; AUTHORITY SECTION:
isc.org. 2351 IN NS ns-int.isc.org.
isc.org. 2351 IN NS ns1.gnac.com.
isc.org. 2351 IN NS ns-ext.isc.org.
這段權威說明告訴我們哪個DNS服務器給我們提供權威的答案。在這個例子中,isc.org有3個Name Server,你可以用+[no]authority選項保留這段輸出。
;; ADDITIONAL SECTION:
ns1.gnac.com. 171551 IN A 209.182.216.75
ns-int.isc.org. 2351 IN A 204.152.184.65
ns-int.isc.org. 2351 IN AAAA 2001:4f8:0:2::15
這些額外選項很有代表性地包含了列出的權威DNS的IP地址,這段輸出可以用+[no]additional選項保留。
;; Query time: 2046 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Aug 27 08:22:26 2004
;; MSG SIZE rcvd: 173
最后一段默認輸出包含了查詢的統計數據,可以用+[no]stats保留。
我們可以查詢什么?
Dig可以讓你有效地查詢DNS,最常用的查詢是A記錄,TXT(文本注釋),MX記錄,NS記錄,或者任意綜合查詢。
查找yahoo.com的A記錄:
dig yahoo.com A +noall +answer
查找yahoo.com MX記錄的列表:
dig yahoo.com MX +noall +answer
查找yahoo.com的權威DNS:
dig yahoo.com NS +noall +answer
查詢上面所有的記錄:
dig yahoo.com ANY +noall +answer
在現在這種IPv4和IPV6混用的情況下,你也可以使用AAAA的選項查詢主機的IPv6 AAAA記錄:
dig www.isc.org AAAA +short
如果你要查詢的域允許轉發,你也可以查詢到相關的信息,比如DNS記錄在internet上的生存周期,但是,現在只有很少的DNS允許無限制轉發。
我們怎樣查詢?
獲得精簡答案?
當我們需要一個快速回答時,+short選項是你最好的朋友:
dig www.isc.org +short
204.152.184.88
獲得一個不是十分精簡的答案?
精簡答案和只有一個答案是不一樣的,獲得沒有附加信息的詳細答案的方法是使用+noall選項,這樣就只保留你想要的輸出。
下面是只有一個答案的精簡查詢,最后包含所有的配置信息,包括TTL數據,格式化的BIND配置信息。
$ dig fsf.org mx +short
20 mx20.gnu.org.
30 mx30.gnu.org.
10 mx10.gnu.org.
$ dig +nocmd fsf.org mx +noall +answer
fsf.org. 3583 IN MX 30 mx30.gnu.org.
fsf.org. 3583 IN MX 10 mx10.gnu.org.
fsf.org. 3583 IN MX 20 mx20.gnu.org.
獲得一個詳細答案?
通過它的man page,你可以通過+multiline選項獲得冗長的多行模式人性化注釋的DSN的SOA記錄,一般來說,用+multiline選項獲得的信息可以顯示很多,就像BIND配置文件一樣。
$ dig +nocmd ogi.edu any +multiline +noall +answer
ogi.edu. 14267 IN A 129.95.59.31
ogi.edu. 14267 IN MX 5 cse.ogi.edu.
ogi.edu. 14267 IN MX 15 hermes.admin.ogi.edu.
ogi.edu. 14267 IN SOA zeal.admin.ogi.edu. hostmaster.admin.ogi.edu. (
200408230 ; serial
14400 ; refresh (4 hours)
&nb
閱讀(397) | 評論(0) | 轉發(0) |
總結
以上是生活随笔為你收集整理的java 如何执行dig 命令_dig命令简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决从PDF复制文本到word的时候排版
- 下一篇: oracle数据库改语句,Oracle