2017-04-12 74 views
0

我正在嘗試通過Python編輯Active Directory dnsRecord值。該屬性值是一個二元結構 - 我找到文檔在各種場所的結構如http://www.indented.co.uk/2009/06/18/mapping-the-dnsrecord-attribute/我也發現了Perl代碼的幾個例子來解釋價值,如https://wiki.samba.org/index.php/Working_with_Active_Directory_encoded_LDAP_values使用Python編碼/解碼AD dnsRecord值

但是我在解碼值一直不成功的與Python

值示例:「\ X04 \ X00 \ X01 \ X00 \ X05 \ XF0 \ X00 \ x00R \ X02 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 \ X00 | i7的\ x00 \ xc0 \ xa8 \ x016' - 我知道這是一條指向名稱「barbel」的記錄到192.168.1.54

有沒有人在Python中使用dnsRecord值?

回答

0

dnsRecord的結構似乎在微軟的DNS(MS-DNSP)開放規範文檔中描述。專門爲DNSRECORD它在2.3.2.2節中描述:

https://msdn.microsoft.com/en-us/library/ee898781.aspx

從上面的鏈接:

數據長度(2個字節):包含 長度的無符號二進制整數,以字節爲單位,Data字段。

類型(2字節):資源記錄的類型。請參閱DNS_RECORD_TYPE (第2.2.2.1.1節)。

版本(1字節):與資源 記錄屬性關聯的版本號。該值必須是0x05。

等級(1字節):RANK *標誌 值之一的最低有效字節。參見dwFlags(第2.2.2.2.5節)。

標誌(2字節):未使用。該值必須是0x0000。

串行(4字節):包含此資源記錄的區域 的SOA記錄的序列號。請參閱DNS_RPC_RECORD_SOA(部分 2.2.2.2.4.3)。

TtlSeconds(4字節):請參閱dwTtlSeconds(第2.2.2.2.5節)。該字段 使用big-endian字節順序。

保留(4字節):該字段留作將來使用。值 務必是0x00000000。

TimeStamp(4字節):請參閱dwTimeStamp(第2.2.2.2.5節)。

數據(變量):資源記錄的數據。請參閱DNS_RPC_RECORD_DATA (第2.2.2.2.4節)。

當然是根據上面解碼來自AD的二進制dnsRecord值的挑戰。由於幾個部分也有他們自己的部分來描述他們的價值。我還沒有解碼這些值,但希望這些信息至少能讓你走上正確的道路。