提问人:Hack-R 提问时间:12/29/2014 更新时间:12/29/2014 访问量:2537
如何在 Windows 8 中记录 DNS 故障(使用 PowerShell、cmd 或其他方法)
How to Log DNS Failures in Windows 8 (Using PowerShell, cmd, or whatever)
问:
在我的 Win 8.1 笔记本电脑上,我喜欢使用 OpenDNS、Level 3 或 OpenNIC DNS 解析器。不幸的是,这遇到了参差不齐的性能。通常DNS会工作半小时左右,然后失败。
有时重新加载 URI 有效,有时则无效。我还怀疑 OpenNIC 并没有真正覆盖我的 ISP 的 DNS,因为当我加载损坏的 URI 时,我总是收到 ISP 烦人的默认页面。
有没有办法在命令行上捕获DNS查询及其错误代码/消息?
答:
2赞
Mathieu Buisson
12/29/2014
#1
这可能有点矫枉过正,但如果您真的想捕获所有DNS查询及其相应的响应,包括确切的错误代码,则可以使用Wireshark或Microsoft网络监视器运行网络捕获。
要过滤 Wireshark 捕获以仅显示您的 DNS 流量,请查看那里:
如何过滤 wireshark 以仅查看从我的计算机发送/接收的 dns 查询?
此外,您可以启用DNS客户端操作日志: 打开事件查看器
转到应用程序和服务日志 >> Microsoft >> Windows >> DNS 客户端事件
右键单击“操作”,然后单击“启用日志”
这会将所有 DNS 解析失败记录为事件 ID 1015 或 1016,告诉您解析失败的名称以及发送响应的 DNS 服务器的 IP 地址。
评论
0赞
Hack-R
12/29/2014
答案是肯定的!我简直不敢相信我没有想到 Wireshark
0赞
Mathieu Buisson
12/29/2014
若要使用 Powrshell 启用 DNS 客户端操作日志,可以执行此操作:(Get-WinEvent -ListLog Microsoft-Windows-DNS-Client/Operational)。IsEnabled = $True 。然后,若要查询此事件日志中的错误,可以运行以下命令:Get-WinEvent -LogName Microsoft-Windows-DNS-Client/Operational |其中 { $_.ID -gt 1010 }
评论