我批量购买域名用于网站漏洞测试。
目前,对于我购买的每个域名,我都必须手动访问我的域名注册商的网站并添加 CNAME 记录。例如,对于域名 abc.com:
CNAME, www, www.abc.com.herokudns.com, 500
由于我每天购买大约 100 个域名,因此这个过程非常重复。我的域名注册商是最便宜的 (directnic.com),但他们没有 API。
是否可以编写自己的 DNS 服务器来动态输出此记录?如果可以,我可以将我的所有域指向这台 DNS 服务器。
答案1
我无法告诉你如何做到这一点,但确实有公司提供动态 DNS 服务,所以这是可能的。也许是某种 perl 或 python 脚本,它抓取公共 IP 并将其发送到托管 DNS 的服务器,另一个脚本则根据传入的数据监听和更新 DNS 记录。
答案2
Powerdns 有一个管道后端,您可以使用这个以及您自己创建的简短脚本来完成您想要做的事情。
这里有一些未经测试的 Python 代码,可以帮助您入门:
while True:
req = sys.stdin.readline()
if not req:
sys.exit()
req = req.split('\t')
if req[0] == 'helo':
print("OK\tbackend started")
elif req[0] == 'q':
_, qname, qclass, qtype, id, remote_ip, local_ip = req
# Your awesome code goes here...