測試DNS服務的命令
dig
dig用於測試dns系統,因此不會查詢hosts文件進行解析。
dig - DNS lookup utility
dig [@global-server] [domain] [q-type] [q-class] {q-opt}{global-d-opt} host [@local-server] {local-d-opt}[ host [@local-server] {local-d-opt} [...]]
Where: domain is in the Domain Name System
q-class is one of (in,hs,ch,...) [default: in]
q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a] (Use ixfr=version for type ixfr)
q-opt is one of:
@<服務器地址>: 指定進行域名解析的域名服務器;
-b<ip地址>: 當主機具有多個IP地址,指定使用本機的哪個IP地址向域名服務器發送域名查詢請求;
-f<文件名稱>: 指定dig以批處理的方式運行,指定的文件中保存着需要批處理查詢的DNS任務信息;
-P: 指定域名服務器所使用端口號;
-t<類型>: 指定要查詢的DNS數據類型;
-x<IP地址>: 執行逆向域名查詢;
-4: 使用IPv4;
-6: 使用IPv6;
-h: 顯示指令幫助信息。
d-opt is of the form +keyword[=value], where keyword is:
+[no]vc (TCP mode)
+[no]tcp (TCP mode, alternate syntax)
+time=### (Set query timeout) [5]
+tries=### (Set number of UDP attempts) [3]
+retry=### (Set number of UDP retries) [2]
+domain=### (Set default domainname)
+bufsize=### (Set EDNS0 Max UDP packet size)
+ndots=### (Set NDOTS value)
+edns=### (Set EDNS version)
+[no]search (Set whether to use searchlist)
+[no]showsearch (Search with intermediate results)
+[no]defname (Ditto)
+[no]recurse (Recursive mode)
+[no]ignore (Don't revert to TCP for TC responses.)
+[no]fail (Don't try next server on SERVFAIL)
+[no]besteffort (Try to parse even illegal messages)
+[no]aaonly (Set AA flag in query (+[no]aaflag))
+[no]adflag (Set AD flag in query)
+[no]cdflag (Set CD flag in query)
+[no]cl (Control display of class in records)
+[no]cmd (Control display of command line)
+[no]comments (Control display of comment lines)
+[no]question (Control display of question)
+[no]answer (Control display of answer)
+[no]authority (Control display of authority)
+[no]additional (Control display of additional)
+[no]stats (Control display of statistics)
+[no]short (Disable everything except short
form of answer)
+[no]ttlid (Control display of ttls in records)
+[no]all (Set or clear all display flags)
+[no]qr (Print question before sending)
+[no]nssearch (Search all authoritative nameservers)
+[no]identify (ID responders in short answers)
+[no]trace (Trace delegation down from root)
+[no]dnssec (Request DNSSEC records)
+[no]nsid (Request Name Server ID)
+[no]sigchase (Chase DNSSEC signatures)
+trusted-key=#### (Trusted Key when chasing DNSSEC sigs)
+[no]topdown (Do DNSSEC validation top down mode)
+[no]multiline (Print records in an expanded format)
+[no]onesoa (AXFR prints only one soa record)
正向解析:
dig [-t type] name [@SERVER] [query options]
-t type:指定資源記錄類型
name:將名稱解析為指定的資源類型
@SERVER:指定解析的服務器,指定服務器后,/etc/resolv.conf中的配置的nameserver將無意義。
query options:
+[no]trace :[不]跟蹤解析過程 : dig +trace magedu.com
+[no]recurse :[不]進行遞歸解析
測試反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa
注意:有正向解析,不一定能反響解析出域名,因為ip和FQDN不在一個樹狀結構系統上。
模擬區域傳送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr magedu.com @10.10.10.11
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net
dig整個輸出的格式簡化如下:
[domain] [ttl] IN [[RR type] [RR data]]
待查數據 暫存時間(秒) IN [[資源類型] [資源內容]]
host
host - DNS lookup utility
host [-aCdlriTwv] [-c class] [-N ndots] [-t type] [-W time][-R number] [-m flag] hostname [server]
-a: 顯示詳細的DNS信息;
-c<類型>: 指定查詢類型,默認值為“IN“;
-C: 查詢指定主機的完整的SOA記錄;
-r: 在查詢域名時,不使用遞歸的查詢方式;
-t<類型>: 指定查詢的域名信息類型;
-v: 顯示指令執行的詳細信息;
-w: 如果域名服務器沒有給出應答信息,則總是等待,直到域名服務器給出應答;
-W<時間>: 指定域名查詢的最長時間,如果在指定時間內域名服務器沒有給出應答信息,則退出指令;
-4: 使用IPv4;
-6: 使用IPv6.
host [-t type] name [SERVER]
host –t NS magedu.com 172.16.0.1
host –t soa magedu.com
host –t mx magedu.com
host –t axfr magedu.com
host 1.2.3.4
nslookup
nslookup - query Internet name servers interactively
Nslookup is a program to query Internet domain name servers.
nslookup [-option] [name | -] [server]
交互式模式:
nslookup>
server IP: 指明使用哪個DNS server 進行查詢
set q=RR_TYPE: 指明查詢的資源記錄類型
NAME: 要查詢的名稱
rndc
rndc - name server control utility
rndc [-b source-address] [-c config-file] [-k key-file] [-s server] [-p port] [-V][-y key_id] {command}
reload 重載主配置文件和區域解析庫文件Reload configuration file and zones.
reload zone [class [view]] 重載區域解析庫文件
refresh zone [class [view]] 安排區域的及時維護
retransfer zone [class [view]] 手動啟動 區域傳送, 而不管序列號是否增加
freeze 暫停對所有動態區域的更新
freeze zone [class [view]] 暫停更新一個動態區域
thaw 啟動更新所有動態區域並重新加載它們
thaw zone [class [view]] 啟動更新一個凍結的動態區域並重新加載它
notify zone [class [view]] 重新對區域傳送發通知
reconfig 重載主配置文件
sign zone [class [view]] 更新區域keys,並按需求進行簽名
loadkeys zone [class [view]] 更新keys但不立即簽名
stats 將服務器統計信息寫入統計文件
querylog 開啟或關閉查詢日志文件/var/log/message
dumpdb [-all|-cache|-zones] [view ...] 將緩存存儲到轉存文件
secroots [view ...] 將安全roots寫入到secroots文件
stop Save pending updates to master files and stop the server.
stop -p Save pending updates to master files and stop the serverreporting process id.
halt 在不保存花費更新的情況瞎停止服務\
halt -p 停止服務而不保存掛起更新的報告進程id
trace 遞增debug 一個級別.
trace level 指定使用的級別
notrace 將調試級別設置為 0
flush 清空DNS服務器的所有緩存記錄
flush [view] 刷新服務器的緩存以查看視圖
flushname name [view] 從服務器緩存中刷新已給名稱
status 顯示服務狀態
recursing 轉存當前recuring的查詢 (named.recursing)
tsig-list 列出所有當前活動的TSIG keys,包括靜態配置和TKEY-NEGOTIATED
的keys
tsig-delete keyname [view] 刪除一個 TKEY-negotiated TSIG key.
validation newstate [view] 啟/禁用 DNSSEC 驗證
addzone ["file"] zone [class [view]] { zone-options } 將區域添加到給定視圖中,需要新區域文件選項
delzone ["file"] zone [class [view]] 從給定視圖中移除區域,需要新區域文件選項
*restart 重啟服務
whois
whois可以查詢到當初注冊這個domain的用戶的相關信息。
whois - client for the whois directory service
whois [ { -h | --host } HOST ] [ { -p | --port } PORT ] [ -abBcdGHKlLmMrRx ] [ -g SOURCE:FIRST-LAST ][ -i ATTR[,ATTR]... ] [ -s SOURCE[,SOURCE]... ] [ -T TYPE[,TYPE]... ] [ --verbose ] OBJECT
whois -q KEYWORD
whois -t TYPE
whois -v TYPE
whois [OPTION]... OBJECT...