如何找出网站无法访问的原因?

如何找出网站无法访问的原因?

我无法访问某个网站。可能有两个原因:

  1. 该块位于 ISP 端。
  2. 该区块位于网站上。

有没有技术方法可以查明是哪些因素导致了问题?

答案1

如果没有更多信息的话很难说,但是这里有一些可以尝试的常规方法:

0) 查找网站主机名(例如,在 Windows 上执行“nslookup www.example.com”,或在 os-x 或 *nix 上执行“host www.example.com”。如果您没有收到 IP 地址响应,则意味着您的 Web 服务器系统未在 DNS 中注册。

1) 接下来 ping 网络服务器。即 ping 运行网站的服务器的主机名。如果您收到响应,这至少表明您的客户端和网络服务器之间有一条开放的网络路径(至少可以 ping)。如果您没有收到响应,可能是因为只有 ping 被阻止,但很可能是因为服务器由于某种原因无法访问。它可能已关闭。

2) 接下来,尝试与网站建立 HTTP 连接。您可以使用浏览器查看发生了什么(例如,您是否收到错误,例如 500,还是只是停留在那里并超时?)。如果这是一个应该可以全球访问的网站,此时您可能还会考虑使用类似DownForEveryoneOrJustMe.com 这将有助于确定问题是否仅仅出现在您这边(即客户端)或者该网站是否对其他人瘫痪(至少对于“DownForEveryoneOrJustMe.com”服务器而言)。

3) 如果您无法建立连接,此时,在尝试打开连接时,最好在客户端(和/或 Web 服务器,如果您有控制台和管理员访问权限)上启动 tcpdump 或 wireshark。这将允许您查看 TCP 数据包是否到达服务器以及服务器如何响应。然后您将获得更多线索。

4) 如果服务器没有响应 HTTP(TCP 端口 80)数据包,则可能是防火墙默默地丢弃了数据包。但是,机器也可能没有运行 HTTPD 守护程序(例如 apache)。因此,如果您拥有服务器的管理员权限,则可以查看进程表(如果是 *nix,则使用“ps -aux | grep "http"”)。如果守护程序正在运行,下一个要查看的地方是 apache 或正在运行的任何 Web 服务器软件的日志。等等。

如果您能提供更多信息,尤其是您尝试过的方法以及哪些方法有效或无效,我们就可以尽力为您提供更多帮助。祝您好运。

相关内容