为什么“ping”会为某些主机返回“请求超时”?

use*_*232 13 windows batch ping command-line

对于某些主机,ping www.example.com它会解析其 IP,但为什么会因请求超时而失败?我还尝试增加 ping 响应时间,但结果仍然相同。

JYe*_*ton 14

是ICMP分组。相比之下,Web 流量或 HTTP 通常是端口 80 上的 TCP 数据包。给定的服务器可能正在为 Web 流量提供响应,但会阻止 ICMP(或位于阻止 ICMP 的防火墙后面),因此您可以:

  • 将 URL 解析为其 IP 地址
  • 连接并查看网络内容

但是无法ping通IP地址。响应“请求超时”是因为您的客户端发送初始数据包,等待回复(永远不会到来),并在预设超时后放弃。


ho1*_*ho1 7

因为它无法连接到主机。仅仅因为 DNS 服务器知道主机应该拥有的 IP,并不意味着有问题的主机正在运行并接受连接。

  • @cpx:ping 请求不是 HTTP 请求。主机可能会响应后者但忽略前者。 (2认同)
  • 它接受端口 80 上的 TCP 连接,但不接受 ICMP 连接。没有什么说计算机必须接受或响应两者。 (2认同)
  • ICMP 不建立连接。例如,为什么这个答案的投票率高于 Pablo 的?ICMP 盲目地将帧分派到目标主机,并在返回时等待几秒钟。 (2认同)

Pab*_*ruz 4

也许主机实际上已关闭,或者可能是某些站点阻止 ICMP 流量(PING 命令依赖的协议)的情况。