有没有办法找出当你的本地系统上的DNS查找失败?

这是在XP上。 一个同事擦拭他们的窗户安装,并开始新鲜。 一个特定的程序有一个自定义的主机条目,现在它不工作,因为我们没有备份主机文件。这里是摩擦:我们知道IP来映射名称,但我们不知道域名。 当我们运行有问题的程序时,它会失败并显示一条通用消息。 有什么方法可以找出它正在尝试解决什么主机名?

WireShark应该捕获DNS查询。 您可以通过端口53或您的DNS主机进行过滤,但您会看到程序正在请求的Alogging的查询。

有两个Sysinternals工具可以帮助解决这个问题。

TCPView将显示当前networkingstream量:

TCPView是一个Windows程序,它将向您显示系统中所有TCP和UDP端点的详细列表,包括本地和远程地址以及TCP连接的状态。

进程监视器将显示所有进程操作:

进程监视器是Windows的高级监视工具,显示实时文件系统,registry和进程/线程活动。

您可以使用TCPView来查看当前的所有连接,所以当程序试图打开连接时,您应该能够看到发出DNS查询。

如果这样做不起作用或者执行得太快,则可以使用进程监视器(专门针对该进程进行过滤)来查看该进程的所有活动。 这里额外的好处是,如果进程正在查找它连接到的registry或某个configuration文件中的名称,则可以使用此工具来检测它。