为什么我可以从终端 ping 某些网站,但却无法在浏览器中跟踪路由或访问它们?

为什么我可以从终端 ping 某些网站,但却无法在浏览器中跟踪路由或访问它们?

在我家的一台电脑上,我无法成功完成跟踪路由,也无法在任何浏览器中浏览看似随机选择的一小部分网站。这包括从 twitter.com 到我自己的网站 thislooksnice.com 等网站,但尚未找到原因。但是,我可以 ping 并得到它们的响应。在我的 iPod Touch 和其他电脑上,我可以正常浏览这些网站。

我在运行 10.6.7 的 Mac 上。我想不出我最近做了什么与 DNS/网络设置有关的更改。我通常使用 OpenDNS。我尝试禁用它,希望使用我的 ISP 默认 DNS 服务器可以解决问题,但遗憾的是,没有成功。

这个问题对 Google 来说太难了,现在完全不知所措了。有什么想法吗?

更新:我尝试跟踪路由时收到的错误如下:

kevin-macbook-pro:~ Kevin$ traceroute twitter.com
traceroute: Warning: twitter.com has multiple addresses; using 199.59.148.11
traceroute to twitter.com (199.59.148.11), 64 hops max, 52 byte packets
traceroute: sendto: No route to host
 1 traceroute: wrote twitter.com 52 chars, ret=-1

答案1

问题解决了!看来我的一个登录项造成了干扰。我清除了几个我不需要启动时加载的应用程序,问题似乎已经解决了。不幸的是,我不知道哪个应用程序造成了干扰,我不确定我是否会花时间回去找出它。已经为此投入了太多时间。不过还是要感谢 harrymc、mehaase 和 Spiff 的帮助!

答案2

PeerGuardian 将自身安装为一项服务,因此即使 GUI 没有运行,它仍然处于活动状态并且可能会阻止某些网站。

答案3

你可以尝试刷新 DNS 缓存在有问题的计算机上。

要刷新 Mac OS X Leopard 中的 DNS 缓存,请在终端中输入:

lookupd -flushcache 

答案4

Mac OS X 中的某些工具(尤其是传统的 Unix 命令行工具)使用传统的 Unix DNS 解析器库。其他工具(主要是 GUI 应用程序,但也有一些命令行工具)使用现在通过 mDNSResponder 路由的库调用。

在 Mac OS X 中,大多数时候 DNS 似乎在某些地方可以工作,但在其他地方却不工作,问题就出在 mDNSResponder 上。

我以前只是sudo killall -HUP mDNSResponder,但我发现这已经不够了。现在我……

sudo killall -9 mDNSResponder

...然后launchd重新启动它。

相关内容