Domain-Name-System
使用 dig 列出域中的所有 DNS 記錄?
我的公司執行一個內部 DNS
mycompany.example
我需要在網路上找到一台機器,但我忘記了它的名稱。如果我能看到一份清單,它可能會喚起我的記憶。
如何列出所有域記錄
mycompany.example
?
回答
對列出 CNAME 的具體問題的簡短回答是,未經許可,您不能進行區域轉移(請參閱如何列出給定域的所有 CNAME 記錄?)。
也就是說,如果您公司的 DNS 伺服器仍然支持 ANY 查詢,您可以使用 dig 列出其他記錄:
dig +noall +answer +multiline yourdomain.yourtld any
這些 …
+noall +answer +multiline
… 是嚴格可選的,只是輸出格式標誌,以使輸出更易於人類閱讀(參見dig man page)。例子
$ dig +noall +answer +multiline bad.horse any
回報:
bad.horse. 7200 IN A 162.252.205.157 bad.horse. 7200 IN CAA 0 issue "letsencrypt.org" bad.horse. 7200 IN CAA 0 iodef "mailto:abuse@sandwich.net" bad.horse. 7200 IN MX 10 mx.sandwich.net. bad.horse. 7200 IN NS a.sn1.us. bad.horse. 7200 IN NS b.sn1.us. bad.horse. 7200 IN SOA a.sn1.us. n.sn1.us. ( 2017032202 ; serial 1200 ; refresh (20 minutes) 180 ; retry (3 minutes) 1209600 ; expire (2 weeks) 60 ; minimum (1 minute) )
警告 (RFC8482)
請注意,自 2019 年左右以來,大多數公共 DNS 伺服器已停止有效地回答大多數 DNS
ANY
查詢。有關這方面的背景,請參閱:https ://blog.cloudflare.com/rfc8482-saying-goodbye-to-any/如果
ANY
查詢未列舉多條記錄,則唯一的選擇是單獨請求每種記錄類型(例如 A、CNAME 或 MX)。