我目前将我的网络设置为通过我们的 2003 服务器执行所有 DNS,现在有一个缓存,我想提取一些关于它的报告。我是一名 .NET 开发人员,我的想法是解析文件并将其转储到 SQL Server 中。
问题是我不知道服务器将缓存存储在哪里。谁能带领我朝着正确的方向前进?
我目前将我的网络设置为通过我们的 2003 服务器执行所有 DNS,现在有一个缓存,我想提取一些关于它的报告。我是一名 .NET 开发人员,我的想法是解析文件并将其转储到 SQL Server 中。
问题是我不知道服务器将缓存存储在哪里。谁能带领我朝着正确的方向前进?
我相信这一切都在记忆中。
我知道您可以使用dnscmd使用以下命令转储缓存:
您可以使用 DNS MMC 查看内容。从“查看”菜单确保选中“高级”选项。然后,您可以单击服务器,在该服务器下将有一个名为“Cached Lookups”的文件夹。
会有性能成本,但您可能真正想要做的是启用调试日志记录,然后针对日志文件运行报告,而不是尝试仅查看缓存。
要配置调试日志,请打开 DNS 管理器,右键单击服务器。有一个“调试日志记录”选项卡。设置日志文件的路径并选中复选框以记录您想要查看的内容。
如果您只需要查看 http 请求,则必须使用某种代理或其他网络工具。
您可以将服务器配置为网关路由器,并使用 Wireshark 之类的工具来分析流量。
另一种选择是使用某些托管网络交换机的一项功能,称为端口镜像。您可以将现有网关路由器端口的流量镜像到另一台机器的端口,并使用 Wireshark 捕获数据。
我相信缓存只存在于内存中,因为缓存中的记录是暂时的,并且会根据记录的 TTL 过期。有人知道有什么不同吗?