是否可以获取解析为给定IPv4 / IPv6地址的域名?
我猜测查询系统DNS缓存必须有办法,但我还没有找到合适的解决方案。
另外,我对rDNS / PTR不感兴趣,这很容易获得,但在最近由系统解析的域名中,指向给定的IP地址。
我的主要兴趣是Android操作系统,但您也可以为其他平台提供解决方案。
答案 0 :(得分:2)
Android中没有操作系统级别的DNS缓存,请参阅
https://android.stackexchange.com/questions/18002/is-there-a-way-to-list-the-local-dns-cache
编辑:它显然取决于Android版本。当前版本使用Bionic DNS缓存,请参阅
http://osxr.org/android/source/bionic/libc/netbsd/resolv/res_cache.c
您可以使用__get_res_cache访问缓存。这是一个内存中的每进程缓存。
如果您有权访问配置的递归解析程序,则可以尝试访问其缓存(例如,通过登录它,或通过安装服务以允许远程访问缓存)。
答案 1 :(得分:1)
没有一般方法可以满足您的要求。可能有一些方法可以深入了解您正在使用的任何DNS解析系统的内部结构,以查看最终发生在其缓存(或类似)中的情况,但这将高度依赖于系统。我所知道的系统都没有将其作为支持的功能。有些东西有帮助(例如,BIND有rndc dumpdb
将当前缓存转储到文件中。无论如何,您必须参考系统的文档。
根据您的需要,最不好的选择可能是窥探路过的A和AAAA记录的相关网络接口。