2016-05-12 74 views
-5

我想知道如何知道DNS服務器是否爲開放式解析器。如何知道DNS服務器是否是開放的解析器?

哪個bash命令能讓我驗證?

+1

什麼是「免費DNS」? – Alnitak

+0

我以爲這是用來定義DNS服務器的名稱,如果DNS服務器不是來自同一個組織,它將接受所有合法的DNS請求(例如遞歸)事件。 – Simon

+0

不,這就是所謂的「開放式解析器」。使用「dig @ip」查找名稱會給出提示,但不是很容易自動證明的。這也是這個網站的主題。 – Alnitak

回答

1

我們做到了在Zonemaster項目的方式是與RD標誌的幾乎可以肯定不存在的名稱xx--domain-cannot-exist.xx--illegal-syntax-tld設置發送名稱服務器的問題一個SOA查詢。如果響應是NXDOMAIN,則名稱服務器執行了遞歸查詢,因此它是一個開放的recursor。如果回覆是其他內容(REFUSED,SERVFAIL或引用根目錄是常見的),那很好。

+0

感謝您的回覆。如果我理解得很好,google.com不是一個開放的解析器,因爲'主機xx - 域 - 不能存在.xx - 非法 - 語法 - tld google.com'返回'連接超時',但是'37.235.1.174'一個因爲它返回'主機xx - 域 - 不能存在.xx - 非法 - 語法 - tld沒有找到:3(NXDOMAIN)'? (這似乎是真的)。你能否簡單地解釋爲什麼錯誤響應NXDOMAIN意味着DNS執行了遞歸查詢? – Simon

+1

'NXDOMAIN'是查詢的正確答案,爲了得到它,名稱服務器必須嘗試查找它,只有在爲其他人執行遞歸查找(即,是一個開放的解析器)時纔會這樣做。 。 'REFUSED','SERVFAIL'和root-referral是名稱服務器說「我無法回答該查詢」的不同方式。 –

相關問題