调整DNSLIB生成的DNS响应的TTL(Python)
在一次安全课程的作业中,我们正在模拟一种叫做“kaminski攻击”的攻击方式,目标是我们自己创建的DNS服务器。我正在使用Python的DNSLIB库来生成伪造的DNS响应。唯一的问题是,默认的TTL(生存时间)是0,这对我们想要“毒化”缓存的目标没有帮助。我怀疑可以指定一个不同的TTL,但找不到具体的方法。下面是一个创建DNS响应数据包的示例代码(来自dnslib网站):
>>> d = DNSRecord(DNSHeader(qr=1,aa=1,ra=1), q=DNSQuestion("abc.com"), a=RR("abc.com",rdata=A("1.2.3.4")))
>>> print d
有没有人知道如何修改上面的代码来指定一个不同的TTL呢?
1 个回答
1
RR
需要一个叫 ttl
的参数,具体可以查看源代码 https://github.com/paulchakravarti/dnslib/blob/master/dnslib/dns.py#L444