我想检查一台机器的互联网浏览历史记录,并且我想通过命令行或 PowerShell 来执行此操作。
是否有任何 Windows 命令或工具可以执行此操作?
答案1
您可以从 CMD 查看缓存的 DNS 条目。
每次浏览网页时,您的 PC 都必须从默认 DNS 服务器请求该网站的 IP 地址,然后在您的机器上本地缓存它们一段时间,以加快将来对该网站的访问速度 — — 即使在私人浏览会话中也是如此。
您可以打开命令提示符并输入ipconfig /displaydns
来查看缓存的 DNS 条目的完整列表。
现在,您首先会注意到的是,会出现大量信息,以至于命令提示符无法容纳所有信息。您可以做的是获取命令的输出并将其发送到计算机上的某个文本文件中。
ipconfig /displaydns > c:\desired location
现在,当您打开该文件时,您将看到有关您直接或间接访问过的网站的信息。
要摆脱这种情况,只需输入命令ipconfig /flushdns
,您的 DNS 缓存就会被清除。
安吉尔·路易斯写了一篇很好的文章关于此主题的教程和脚本,建议你读一读。
答案2
也许可以看看Nirsoft 的 IEHistoryView,因为它允许将结果保存到文本文件:
此实用程序从您计算机上的历史记录文件中读取所有信息,并显示您在过去几天访问过的所有 URL 列表。它还允许您选择一个或多个 URL 地址,然后将其从历史记录文件中删除或将其保存为文本、HTML 或 XML 文件。此外,只要您有访问历史记录文件夹的权限,您就可以查看计算机上其他用户配置文件的访问过的 URL 列表,甚至可以访问远程计算机上的访问过的 URL 列表。
答案3
在 PowerShell 中,这将仅显示 DNS 名称:
ipconfig /displaydns|?{$_ -like "Record Name"}
这将显示 IP 和记录类型:
ipconfig /displaydns|?{$_ -like "Record"}
类型 1 是 A 记录,类型 5 是别名。
答案4
我喜欢使用 Ipconfig,但是 Powershell 确实有自己的代码
Get-DnsClientCache | Select-Object -Property Entry, Data | Sort-Object Entry | FT