如何刷新本地 DNS 缓存

May 30th, 2008 | Tags:

 

Windows 会将我们访问过的 DNS 条目缓存下来供下次解析该域名时使用, 我们可以通过在注册表添加一下项目老控制 Cache 的有效期

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

Value Name: DnsCacheTimeout Data Type: REG_DWORD Radix: Decimal Value: (time in seconds)  

Value Name: ServerInfoTimeOut Data Type: REG_DWORD Radix: Decimal Value: (time in seconds)

但是有时候我们不能随意改变用户机器中的相关设定,而且我们也只是需要在特定情况下立即刷新本地 DNS 缓存,查阅 MSDN 后没有找到相关方法。Windows 的组件 ipconfig.exe 提供了一个刷新 DNS 的命令行参数,”ipconfig /flushdns“. 于是跟踪 ipconfig.exe 看看它在 flushdns 的时候到底使用了什么方法。最后发现它调用 DNSAPI.DnsFlushResolverCache 来 flushdns。

相关日志

No comments yet.