【Linux】一步一步学Linux——dig命令(160)
生活随笔
收集整理的這篇文章主要介紹了
【Linux】一步一步学Linux——dig命令(160)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
dig命令是常用的域名查詢工具,可以用來測試域名系統工作是否正常。
dig命令的全稱是“domain information groper”,它是一個用來靈活查詢DNS的工具,它會打印出DNS域名服務器的回應,dig命令主要用來從DNS域名服務器查詢主機地址信息。
dig命令與nslookup命令功能基本相同,但是dig命令靈活性好、易用、輸出清晰。
02. 命令格式
用法:dig [選項] [參數]03. 常用選項
@ 指定進行域名解析的域名服務器 -b 使用指定的本機ip地址向域名服務器發送域名查詢請求 -f 指定dig以批處理的方式運行,指定的文件中保存著需要批處理查詢的DNS任務信息 -p 指定域名服務器所使用端口號 -t 指定要查詢的DNS數據類型(默認為A) -x 執行逆向域名查詢 -4 使用ipv4(默認) -6 使用ipv6 -h 顯示命令幫助信息 標志 -b address 配置所要詢問地址的源 IP 地址。這必須是主機網絡接口上的某一合法的地址。 -c class 缺省查詢類(IN for internet)由選項 -c 重設。class 能夠是任何合法類,比如查詢 Hesiod 記錄的 HS 類或查詢 CHAOSNET 記錄的 CH 類。 -f filename 使 dig 在批處理模式下運行,通過從文檔 filename 讀取一系列搜索請求加以處理。文檔包含許多查詢;每行一個。文檔中的每一項都應該以和使用命令行接口對 dig 的查詢相同的方法來組織。 -h 當使用選項 -h 時,顯示一個簡短的命令行參數和選項摘要。 -k filename 要簽署由 dig 發送的 DNS 查詢連同對他們使用事務簽名(TSIG)的響應,用選項 -k 指定 TSIG 密鑰文檔。 -n 缺省情況下,使用 IP6.ARPA 域和 RFC2874 定義的二進制標號搜索 IPv6 地址。為了使用更早的、使用 IP6.INT 域和 nibble 標簽的 RFC1886 方法,指定選項 -n(nibble)。 -p port# 假如需要查詢一個非標準的端口號,則使用選項 -p。port# 是 dig 將發送其查詢的端口號,而不是標準的 DNS 端口號 53。該選項可用于測試已在非標準端口號上配置成偵聽查詢的域名服務器。 -t type 配置查詢類型為 type。能夠是 BIND9 支持的任意有效查詢類型。缺省查詢類型是 A,除非提供 -x 選項來指示一個逆向查詢。通過指定 AXFR 的 type 能夠請求一個區域傳輸。當需要增量區域傳輸(IXFR)時,type 配置為 ixfr=N。增量區域傳輸將包含自從區域的 SOA 記錄中的序列號改為 N 之后對區域所做的更改。 -x addr 逆向查詢(將地址映射到名稱)能夠通過 -x 選項加以簡化。addr 是個以小數點為界的 IPv4 地址或冒號為界的 IPv6 地址。當使用這個選項時,無需提供 name、class 和 type 參數。dig 自動運行類似 11.12.13.10.in-addr.arpa 的域名查詢,并分別配置查詢類型和類為 PTR 和 IN。 -y name:key 您能夠通過命令行上的 -y 選項指定 TSIG 密鑰;name 是 TSIG 密碼的名稱,key 是實際的密碼。密碼是 64 位加密字符串,通常由 dnssec-keygen(8)生成。當在多用戶系統上使用選項 -y 時應該謹慎,因為密碼在 ps(1)的輸出或 shell 的歷史文檔中可能是可見的。當同時使用 dig 和 TSCG 認證時,被查詢的名稱服務器需要知道密碼和解碼規則。在 BIND 中,通過提供正確的密碼和 named.conf 中的服務器聲明實現。參數 global-queryopt... 全局查詢選項(請參閱多個查詢)。 查詢 查詢選項(請參閱查詢選項)。查詢選項 dig 提供查詢選項號,他影響搜索方式和結果顯示。一些在查詢請求報頭配置或復位標志位,一部分決定顯示哪些回復信息,其他的確定超時和重試戰略。每個查詢選項 被帶前綴(+)的關鍵字標識。一些關鍵字配置或復位一個選項。通常前綴是求反關鍵字含義的字符串 no。其他關鍵字分配各選項的值,比如超時時間間隔。他們的格式形如 +keyword=value。查詢選項是:+[no]tcp查詢域名服務器時使用 [不使用] TCP。缺省行為是使用 UDP,除非是 AXFR 或 IXFR 請求,才使用 TCP 連接。 +[no]vc查詢名稱服務器時使用 [不使用] TCP。+[no]tcp 的備用語法提供了向下兼容。 vc 代表虛電路。 +[no]ignore忽略 UDP 響應的中斷,而不是用 TCP 重試。缺省情況運行 TCP 重試。 +domain=somename設定包含單個域 somename 的搜索列表,似乎被 /etc/resolv.conf 中的域偽指令指定,并且啟用搜索列表處理,似乎給定了 +search 選項。 +[no]search使用 [不使用] 搜索列表或 resolv.conf 中的域偽指令(假如有的話)定義的搜索列表。缺省情況不使用搜索列表。 +[no]defname不建議看作 +[no]search 的同義詞。 +[no]aaonly該選項不做任何事。他用來提供對配置成未實現解析器標志的 dig 的舊版本的兼容性。 +[no]adflag在查詢中配置 [不配置] AD(真實數據)位。現在 AD 位只在響應中有標準含義,而查詢中沒有,但是出于完整性考慮在查詢中這種性能能夠配置。 +[no]cdflag在查詢中配置 [不配置] CD(檢查禁用)位。他請求服務器不運行響應信息的 DNSSEC 合法性。 +[no]recursive轉換查詢中的 RD(需要遞歸)位配置。在缺省情況下配置該位,也就是說 dig 正常情形下發送遞歸查詢。當使用查詢選項 +nssearch 或 +trace 時,遞歸自動禁用。 +[no]nssearch這個選項被配置時,dig 試圖尋找包含待搜名稱的網段的權威域名服務器,并顯示網段中每臺域名服務器的 SOA 記錄。 +[no]trace轉換為待查詢名稱從根名稱服務器開始的代理路徑跟蹤。缺省情況不使用跟蹤。一旦啟用跟蹤,dig 使用迭代查詢解析待查詢名稱。他將按照從根服務器的參照,顯示來自每臺使用解析查詢的服務器的應答。 +[no]cmd設定在輸出中顯示指出 dig 版本及其所用的查詢選項的初始注釋。缺省情況下顯示注釋。 +[no]short提供簡要答復。缺省值是以冗長格式顯示答復信息。 +[no]identify當啟用 +short 選項時,顯示 [或不顯示] 提供給答的 IP 地址和端口號。假如請求簡短格式應答,缺省情況不顯示提供給答的服務器的源地址和端口號。 +[no]comments轉換輸出中的注釋行顯示。缺省值是顯示注釋。 +[no]stats該查詢選項設定顯示統計信息:查詢進行時,應答的大小等等。缺省顯示查詢統計信息。 +[no]qr顯示 [不顯示] 發送的查詢請求。缺省不顯示。 +[no]question當返回應答時,顯示 [不顯示] 查詢請求的問題部分。缺省作為注釋顯示問題部分。 +[no]answer顯示 [不顯示] 應答的回答部分。缺省顯示。 +[no]authority顯示 [不顯示] 應答的權限部分。缺省顯示。 +[no]additional顯示 [不顯示] 應答的附加部分。缺省顯示。 +[no]all配置或清除任何顯示標志。 +time=T為查詢配置超時時間為 T 秒。缺省是5秒。假如將 T 配置為小于1的數,則以1秒作為查詢超時時間。 +tries=A配置向服務器發送 UDP 查詢請求的重試次數為 A,代替缺省的 3 次。假如把 A 小于或等于 0,則采用 1 為重試次數。 +ndots=D出于完全考慮,配置必須出現在名稱 D 的點數。缺省值是使用在 /etc/resolv.conf 中的 ndots 語句定義的,或是 1,假如沒有 ndots 語句的話。帶更少點數的名稱被解釋為相對名稱,并通過搜索列表中的域或文檔 /etc/resolv.conf 中的域偽指令進行搜索。 +bufsize=B配置使用 EDNS0 的 UDP 消息緩沖區大小為 B 字節。緩沖區的最大值和最小值分別為 65535 和 0。超出這個范圍的值自動舍入到最近的有效值。 +[no]multiline以周詳的多行格式顯示類似 SOA 的記錄,并附帶可讀注釋。缺省值是每單個行上顯示一條記錄,以便于電腦解析 dig 的輸出。多條查詢dig 的 BIND9 支持在命令行上指定多個查詢(支持 -f 批處理文檔選項的附加功能)。每條查詢能夠使用自己的標志位、選項和查詢選項。在這種情況下,在上面描述的命令行語法中,每條查詢自變量代表一個個別查詢。每一條由任意標準選項和標志、待查詢名稱、可選查詢類型和類連同任何適用于該查詢的查詢選項。也能夠使用對任何查詢均有效的查詢選項全局集合。全局查詢選項必須位于命令行上第一個名稱、類、類型、選項、標志和查詢選項的元組之前。任何全局查詢選項(除了 +[no]cmd 選項)能夠被下面的查詢特別選項重設。例如:dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr顯示 dig 如何從命令行出發進行三個查詢:一個針對 www.isc.org的任意查詢、一個 127.0.0.1 的逆向查詢,連同一個 isc.org 的 NS 記錄查詢。應用了 +qr 的全局查詢選項,以便 dig 顯示進行每條查詢的初始查詢。最后那個查詢有一個本地查詢選項 +noqr,表示 dig 在搜索 isc.org 的 NS 記錄時不顯示初始查詢。04. 參考示例
4.1 查詢對應域名的ip
[deng@localhost ~]$ dig www.itcast.cn; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50614 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itcast.cn. IN A;; ANSWER SECTION: www.itcast.cn. 600 IN CNAME www.itcast.cn.w.kunlungr.com. www.itcast.cn.w.kunlungr.com. 60 IN A 183.232.151.215;; Query time: 108 msec ;; SERVER: 119.29.29.29#53(119.29.29.29) ;; WHEN: 三 8月 21 16:41:48 CST 2019 ;; MSG SIZE rcvd: 100[deng@localhost ~]$4.2 對目標ip進行反向解析查詢
[deng@localhost ~]$ dig -x 183.232.231.172; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -x 183.232.231.172 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 64753 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;172.231.232.183.in-addr.arpa. IN PTR;; Query time: 91 msec ;; SERVER: 119.29.29.29#53(119.29.29.29) ;; WHEN: 三 8月 21 16:44:47 CST 2019 ;; MSG SIZE rcvd: 57[deng@localhost ~]$4.3 查詢目標域名的MX記錄
[deng@localhost ~]$ dig -t MX www.itcast.cn; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t MX www.itcast.cn ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18337 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itcast.cn. IN MX;; ANSWER SECTION: www.itcast.cn. 600 IN CNAME www.itcast.cn.w.kunlungr.com.;; Query time: 58 msec ;; SERVER: 119.29.29.29#53(119.29.29.29) ;; WHEN: 三 8月 21 16:45:41 CST 2019 ;; MSG SIZE rcvd: 84[deng@localhost ~]$4.4 查詢目標域名的A記錄
[deng@localhost ~]$ dig A www.baidu.com; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> A www.baidu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31359 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.baidu.com. IN A;; ANSWER SECTION: www.baidu.com. 1121 IN CNAME www.a.shifen.com. www.a.shifen.com. 221 IN A 183.232.231.172 www.a.shifen.com. 221 IN A 183.232.231.174;; Query time: 12 msec ;; SERVER: 119.29.29.29#53(119.29.29.29) ;; WHEN: 三 8月 21 16:47:52 CST 2019 ;; MSG SIZE rcvd: 101[deng@localhost ~]$4.5 查找itcast權威DNS
[deng@localhost ~]$ dig www.itcast.cn ANY +noall +answer ;; Question section mismatch: got paypal.com/ANY/IN; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn ANY +noall +answer ;; global options: +cmd www.itcast.cn. 588 IN CNAME www.itcast.cn.w.kunlungr.com. [deng@localhost ~]$+noall表示隱藏所有內容
+answer 表示顯示響應內容
4.6 快速響應時,+short
[deng@localhost ~]$ dig www.itcast.cn +short www.itcast.cn.w.kunlungr.com. 183.232.151.215 [deng@localhost ~]$4.7 查詢指定域名的AAAA記錄
在現在這種IPv4和IPV6混用的情況下,你也可以使用AAAA的選項查詢主機的IPv6 AAAA記錄
[deng@localhost ~]$ dig www.itcast.cn AAAA +short www.itcast.cn.w.kunlungr.com. [deng@localhost ~]$4.8 查詢一個不同的命名服務器
[deng@localhost ~]$ dig @ns1.google.com www.google.com; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @ns1.google.com www.google.com ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19679 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION: ;www.google.com. IN A;; ANSWER SECTION: www.google.com. 80 IN A 173.252.100.32;; Query time: 7 msec ;; SERVER: 216.239.32.10#53(216.239.32.10) ;; WHEN: 三 8月 21 16:54:31 CST 2019 ;; MSG SIZE rcvd: 48[deng@localhost ~]$4.9 跟蹤dig查詢的路徑
[deng@localhost ~]$ dig www.itcast.cn +trace; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn +trace ;; global options: +cmd . 310323 IN NS j.root-servers.net. . 310323 IN NS k.root-servers.net. . 310323 IN NS l.root-servers.net. . 310323 IN NS m.root-servers.net. . 310323 IN NS b.root-servers.net. . 310323 IN NS c.root-servers.net. . 310323 IN NS d.root-servers.net. . 310323 IN NS e.root-servers.net. . 310323 IN NS f.root-servers.net. . 310323 IN NS g.root-servers.net. . 310323 IN NS h.root-servers.net. . 310323 IN NS a.root-servers.net. . 310323 IN NS i.root-servers.net. ;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 174 ms4.10 獲取SOA記錄
[deng@localhost ~]$ dig baidu.com +nssearch SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 180.76.76.92 in 10 ms. SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 14.215.178.80 in 15 ms. SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 220.181.33.31 in 42 ms. SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 112.80.248.64 in 44 ms. SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 202.108.22.220 in 52 ms. [deng@localhost ~]$4.11 解釋TTL數值
[deng@localhost ~]$ dig +nocmd gmail.com MX +noall +answer gmail.com. 1199 IN MX 40 alt4.gmail-smtp-in.l.google.com. gmail.com. 1199 IN MX 10 alt1.gmail-smtp-in.l.google.com. gmail.com. 1199 IN MX 20 alt2.gmail-smtp-in.l.google.com. gmail.com. 1199 IN MX 30 alt3.gmail-smtp-in.l.google.com. gmail.com. 1199 IN MX 5 gmail-smtp-in.l.google.com. [deng@localhost ~]$4.12 綜合查詢
使用@指定服務器 使用-p指定非標準端口 使用-t來指定查詢類型
[deng@localhost ~]$ dig www.itcast.cn @183.232.151.215 -p 53 -t MX; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn @183.232.151.215 -p 53 -t MX ;; global options: +cmd ;; connection timed out; no servers could be reached [deng@localhost ~]$05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——dig命令(160)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——n
- 下一篇: 【Linux】一步一步学Linux——n