dnspython 查询Zone和修改Dns记录
目录
首先安装依赖包
1 |
pip3 install dnspython |
DNS配置
1 2 3 4 |
需添加: rndc的key allow-update { ip; }; |
更新DNS RR记录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import dns.tsigkeyring import dns.update import dns.query import sys from dns.tsig import HMAC_MD5 keyring = dns.tsigkeyring.from_text({ 'rndc-key' : 'key' }) update = dns.update.UpdateMessage('test.com', keyring=keyring, keyalgorithm=HMAC_MD5) update.add('www', 300, 'a', '127.0.0.8') #update.replace('www', 300, 'a', '127.0.0.1') response = dns.query.tcp(update, '172.16.100.131') print(response) |
查询DNS Zone
1 2 3 4 5 6 7 8 9 |
xfr_answer = dns.query.xfr('172.16.100.131', 'test.com') zone = dns.zone.from_xfr(xfr_answer) z = [name.to_text()for name, ttl, rdata in zone.iterate_rdatas("ANY")] for name, ttl, rdata in zone.iterate_rdatas("A"): print(name, ttl, rdata.rdtype.name, rdata.address) print(rdata.rdtype.name) print(dir(rdata)) |