我需要在脚本中获取DNS的最新A记录.该脚本正在执行一些监视操作. DNS记录的默认TTL为5分钟,但监控脚本每分钟运行一次.我正在使用
PHP的函数dns_get_record来获取A记录,但我想知道是否有一种方法可以忽略TTL缓存并从DNS服务器获取记录而不是缓存.
当然,任何方式强制这样做,以便没有网络级缓存适用,每次我运行脚本,它实际上命中DNS服务器?
谢谢
Sparsh Gupta
解决方法
不可以.常规客户端无法要求缓存DNS服务器刷新其缓存并重新查询权威服务器.这是设计 – 我将留下你可以做的DDoS破坏的数量作为读者的练习.
如果您绝对肯定必须拥有未缓存的记录,请在常规名称服务器中查询目标域的NS记录,然后直接查询权威服务器.
注意:这通常被认为是粗鲁的行为,除了作为最后的手段之外真的不应该使用 – 确切地说,非常关键的是你绝对需要每分钟完美的重新检查,以防万一记录改变而你没有注意到?
…就此而言,为什么你的TTL默认为五分钟?
ETA:大多数DNS服务器,特别是转发服务器,将拒绝承认任何小于3600秒的TTL.如果你很幸运,他们默认至少1小时;如果你不是,他们将默认为普遍接受的默认值86400秒(24小时)……
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。