dig:Domain Information Groper,是一個DNS查詢工具
1:使用google的域名服務器:查詢特定域名的A記錄
[root@localhost ~]# dig @8.8.8.8 www.baidu.com A ###格式:dig @dnsserver name querytype
###如果沒有設置@dnsserver,則會依次使用/etc/resolv.conf來解析
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @8.8.8.8 www.baidu.com A
###dig這個程序的版本號和要查詢的域名
; (1 server found) ### 1個結果
;; global options: +cmd ###表示可以在命令后面加的命令
;; Got answer: ###獲取到的結果
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20306
### 返回信息的頭部
###opcode: 操作碼,QUERY,代表是查詢操作;
###status: 狀態,NOERROR,代表沒有錯誤;
###id: 編號:20306 ,16 bit數字,在dns協議中,通過編號匹配返回和查詢.
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
###flags: 標志,如果出現就表示有標志,如果不出現,就表示為設置標志:
###qr query,查詢標志,代表是查詢操作
###rd recursion desired,代表希望進行遞歸查詢操作;
###ra recursive available在返回中設置,代表查詢的服務器支持遞歸查詢操作;
###aa Authoritative Answer權威回復,如果查詢結果由管理域名的域名服務器而不是緩存服務器提供的,則稱為權威回復
### QUERY 查詢數,1代表一個查詢,對應下面QUESTION SECTION的記錄數
### ANSWER 結果數,3代表有3個結果,對應下面的ANSWER SECTION中的記錄數
### AUTHORITY 權威域名服務器記錄數,0代表該域名有0個權威域名服務器。對應下面AUTHORITY SECTION
### ADDITIONAL 格外記錄數,1代表有1項格外記錄。對應下面 ADDITIONAL SECTION。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 795 IN CNAME www.a.shifen.com. ###別名
www.a.shifen.com. 201 IN A 14.215.177.38
www.a.shifen.com. 201 IN A 14.215.177.39
###權威域名部分,回應都是NS記錄(Name Server),NS記錄從左到右各部分意義:
1、對應的域名,這里是baidu.com.,'.'代表根域名,com頂級域名,baidu二級域名,www三級域名
2、TTL,time ro live,緩存時間,單位秒。795,代表緩存域名服務器,可以在緩存中保存63948秒
該記錄。
3、class,要查詢信息的類別,IN代表類別為IP協議,即Internet。還有其它類別,比如chaos等,由於
現在都是互聯網,所以其它基本不用。
4、type,要查詢的記錄類型,NS,Name Server,NS記錄,代表該記錄描述了域名對應的權威域名
解析服務器
5、域名對應域名對應的權威域名解析服務器。
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Nov 03 10:39:08 EST 2019
;; MSG SIZE rcvd: 101
###回應的大小。收到(rcvd, recieved)101字節
2:用-f選項實現批量查詢---從一個文件里面讀取內容查詢
[root@localhost ~]# cat querylist
www.baidu.com
www.zhihu.com
[root@localhost ~]# dig -f querylist -t A ###:默認查詢類型為A記錄
[root@localhost ~]# dig -f querylist -t MX ###-t:查詢類型為MX
...省略了查詢結果
3:-x 反向解析:查詢ip地址到域名的映射關系
[root@localhost ~]# dig -x 8.8.8.8 +short ### +short不要分開寫
dns.google. ###googleDNS,可以放心使用
4:查詢選項:要求顯示的在前面加上'+'來識別
[root@localhost ~]# dig -x 8.8.8.8 +short
dns.google.
[root@localhost ~]# dig +tcp @8.8.8.8 www.baidu.com ###默認是udp查詢
5:+trace:跟蹤dig查詢全過程
[root@localhost ~]# dig +trace www.baidu.com