【问题标题】:Website not pinging but is opened by Web browser网站不ping,但由Web浏览器打开
【发布时间】:2014-08-04 07:29:31
【问题描述】:

朋友们,我认为这是一件奇怪的事情(至少对我来说)。因为我了解到互联网上的每个域名都有一个对应的 IP 地址。它存储在 DNS 上的某个位置。

现在,这是我从命令行 ping google.com 时得到的结果。

C:\Windows\system32>ping google.com

Pinging google.com [74.125.236.135] with 32 bytes of data:
Reply from 74.125.236.135: bytes=32 time=10ms TTL=55
Reply from 74.125.236.135: bytes=32 time=11ms TTL=55
Reply from 74.125.236.135: bytes=32 time=11ms TTL=55
Reply from 74.125.236.135: bytes=32 time=10ms TTL=55

Ping statistics for 74.125.236.135:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 11ms, Average = 10ms

但是当我 ping www.cloudbees.net 我得到以下信息:

C:\Windows\system32>ping www.cloudbees.net

Pinging www.cloudbees.net [75.101.143.131] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 75.101.143.131:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

我也尝试了它的 ip 地址(75.101.143.131),它返回了相同的结果。 但是当我从浏览器浏览相同的内容(www.cloudbees.net 但不是 IP 地址)时,网页会打开。这是怎么回事?

我在 ping 中注意到的另一件奇怪的事情是,当我 ping google.com 时,我在 ping 结果的末尾得到以下两行,但我没有如果是 www.cloudbees.net

Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 11ms, Average = 10ms

那么任何人都可以对整个机制以及为什么会发生这种情况有所了解。

【问题讨论】:

  • 无法重现问题(ping 响应)

标签: networking web ip ping


【解决方案1】:

ping 数据包使用 ICMP 协议,而同一级别的网页使用 TCP 协议。两者都通过 IP 协议,但它们是不同类型的数据包。 (如果您听说过 HTTP 一词,它是一种比 ICMP 或 TCP 上一层的协议。)

这意味着您和您尝试 ping 的服务器之间的任何路由器或防火墙都可能会阻止您的 ping。 ping 服务器不是查看它是否启动的可靠方法。某些操作系统会在其默认配置中阻止 ping。

来自不同网络的人甚至有可能看到不同的行为。 @Popnoodles 或许能够让他的 ping 通,你或我都不会。

当我 ping www.cloudbees.net 时,没有答案。但是,当我告诉我的计算机要了解更多信息时:

traceroute 75.101.143.131

此命令显示 ping 数据包在其传输过程中遇到的服务器。在 ping 消失在大空间的某个地方之前,我得到了大约 20 台服务器。最后一个服务器是216.182.224.73,它位于亚马逊云中的某个地方。

因此,根据这些信息,cloudbees.net 很可能使用亚马逊服务。但是,ping 数据包与 TCP 数据包走相同的路由并没有可靠的技术理由。通常是这样,但如果有人想要混淆路线,事情可以做不同的事情。 (就亚马逊而言,这不太可能。)

顺便说一句,一个DNS名称对应的IP地址可能不止一个,而且多个DNS名称可能指向同一个地址。第一种场景(多个IP)在大型站点中很常见,可以用来平衡负载。第二种情况(多个名称指向同一个地址)发生在基于名称的虚拟主机上,其中一台服务器上有多个网站,只有一个 IP 地址。

【讨论】:

  • 感谢您提供翔实的回答。顺便问一下,这个 traceroute 是什么?
  • traceroute 是一个命令行实用程序,它包含在大多数操作系统中。在 LINux/Unix/BSD/等。它往往被称为traceroute,在Windows 中它被称为tracert。因此,正如您在 Windows 命令行中键入 ping www.google.com 一样,您也可以键入 tracert www.google.com。请注意,解析名称(试图通过 IP 找出名称)可能需要很多时间。为避免这种情况,您可以尝试tracert -d 8.8.8.8-d 命令行开关告诉实用程序不要将数字地址解析为名称。
【解决方案2】:

我认为它连接到您在其上注册网站的 dns.. 我知道如果您尝试通过 ip 进入 cloudbless 并且它正在工作,而当您尝试通过域名输入时它不起作用.. 有问题您首先注册的域 DNS .. 检查它们

【讨论】:

    【解决方案3】:

    可以通过浏览器 ping 和访问 google.com。我无法 ping 也无法访问 cloudbees.net。我从数据库 (Apache Tomcat/6.0.39) 收到 404 错误。如果您无法通过浏览器重现相同的结果,请清除缓存并重试。

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 1970-01-01
      • 2016-08-10
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      相关资源
      最近更新 更多