2015-10-26 55 views
0

我正在使用Python getdns API。getdns API:我如何知道RESPSTATUS_NO_NAME響應是否安全?

我使用的擴展:

extensions = {"dnssec_return_validation_chain" : getdns.EXTENSION_TRUE} 

這意味着我如果反應是DNSSEC與當局在回答字典dnssec_status選項確保告訴。 (results.replies_tree是一組回覆字典。)

如果沒有名稱(例如results.status==getdns.RESPSTATUS_NO_NAME),則查詢可能沒有回覆。

在這種情況下,我如何知道RESPSTATUS_NO_NAME響應是否使用DNSSEC進行了身份驗證?

回答

1

當狀態爲getdns.RESPSTATUS_NO_NAME,該replies_tree 包含答覆爲空"answer"段和返回代碼NXDOMAIN。即result.replies_tree[0]['header']['rcode']==getdns.RCODE_NXDOMAIN

當使用DNSSEC擴展,這些答覆將包含非腦幹的在"authority"部分證明(安全時)和包含dnssec_status就像用確實包含答案的答覆。

當狀態不安全並且使用dnssec_return_validation_chain擴展時,result.validation_chain將包含在查詢域的祖先之一中不存在安全委派的證據。

相關問題