调整DNSLIB生成的DNS响应的TTL(Python)

0 投票
1 回答
1222 浏览
提问于 2025-04-17 16:54

在一次安全课程的作业中,我们正在模拟一种叫做“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

撰写回答