无法打开 https 网页

无法打开 https 网页

我是新来的,所以如果我没有“按照规则”提出这个问题,请原谅我。

问题是:几个月前,我想在我的上网本(我并不经常使用)上从 Win 切换到 Ubuntu 14.04,安装过程通常很顺利,但从一开始我就遇到了这个问题,需要登录的页面开始加载但什么也没发生。所以,像 Facebook、Yahoo 邮箱、Chrome Google 帐户、我的银行帐户等页面。例如,Facebook 首页可以正常打开,我可以输入我的登录数据,按回车键,我的主页打开,之后什么都没有。之后任何其他页面(在我的 Facebook 帐户上)都开始加载,但根本打不开!之前提到的所有其他 https 网站也存在同样的情况。

故障排除(帮助指定问题): - 我尝试在同一台上网本上安装 Ubuntu 12.04,出现相同的问题。 - 我妻子的上网本装有 Windows,运行正常。 - 与此同时,我买了一台新笔记本电脑,尝试安装 Ubuntu 12.04 和 14.04,也出现了同样的问题。 - 我们的“家庭”台式电脑装有 Ubuntu 12.04,去年安装的,没有类似的问题(并且是最新的) - 我通常使用 Google Chrome,但为了测试,我也尝试了 Firefox 和其他一些浏览器,所有浏览器都存在同样的问题。 - “正常” http 页面打开没有任何问题

这里已经有人问过几个类似的问题了,建议的解决方案有降低 MTU、更新 Ubuntu、关闭 IPv6、设置免费 DNS 域等。我尝试了其中的一些方法,但同时在所有这些选项中迷失了方向,所以我希望你能帮助我并指导我,让我重新开始并最终找到解决方案。

这是一条较长的消息,但我认为如果我写下尽可能多的细节它会很有用。

预先感谢您的帮助。

答案1

我会尝试调查背后发生的事情......

通过捕获网络通信

安装wireshark并尝试捕获通信,然后将过滤器设置为 https,您可能会看到哪些数据包被发送到服务器,然后接收到了什么等等。

注意:如果关闭所有其他产生网络流量的程序,您的结果将更易于阅读。

由此您能发现什么?

--> 通信是否存在。它可能被防火墙或其他东西阻止了。您应该看到它以正常方式与服务器通信。

尝试附加strace以查看浏览器进程在做什么:

  1. 准备包含您的登录名和密码的页面
  2. 检查 Firefox 的 PID:ps aux | grep firefox
  3. 附加strace到它:strace -tt -p <PID> -f -o strace.log
  4. 然后尝试登录并等待一段时间
  5. strace按下即可分离Ctrl-C

您应该看到那里发生了什么。日志中的所有系统调用都有时间戳(-tt选项),因此如果您在登录前后等待并观察系统时间,您应该能够确定哪些系统调用与其相关。

所有事情都应该由一个特定的线程完成(因此您可以查看具有相同线程 ID 的系统调用子集)。

由此您能发现什么?

--> 浏览器进程的 IO 级别发生了什么。您应该关注、 、 、 、 、recv系统recvfrom调用recvmsgsocket它们send用于套接字通信)。您应该检查它们是否成功(返回值不是负数或像 ESOME_ERROR)等。sendtosendmsg

我会检查其他加密通信是否有效(如 ssh 等),我会检查某些代理设置是否是罪魁祸首。我希望它能帮助你更接近问题。

相关内容