ping 如何知道我的主机是否已关闭

Bob*_*421 11 ping

当我ping使用服务器时,我可能会得到两种结果:

  • 暂停
  • 主机已关闭消息

ping命令如何知道主机是否已关闭?在这两种情况下,主机都没有对 ping 数据包发送任何响应,那么如何ping区分呢?

Ove*_*ind 24

响应之间的差异实际上不是由 ICMP 本身决定的,而是间接决定的。

ICMP 可以区分以下各项:

  0 = net unreachable;

  1 = host unreachable;

  2 = protocol unreachable;

  3 = port unreachable;

  4 = fragmentation needed and DF set;

  5 = source route failed.
Run Code Online (Sandbox Code Playgroud)

但它对其他网络资源也是如此。代码 0、1、4 和 5 可以从网关接收。代码 2 和 3 可以从主机接收。

如果根据网关路由表中的信息,目标网络不可达(例如,到网络的距离无穷大),网关可以向数据报的互联网源主机发送目标不可达消息。此外,在某些网络中,网关可能能够确定 Internet 目标主机是否无法访问。当目标主机不可达时,这些网络中的网关可以将目标不可达消息发送到源主机,因此实际上不是由 ICMP 进行确定。

如果在目的主机中,IP 模块由于指示的协议模块或进程端口不活动而无法传递数据报,则目的主机可以向源主机发送“目的不可达”消息。

最后,如果数据报必须被分片才能由网关转发,但“不要分片”标志打开,网关将丢弃该数据报并返回“目的地不可达”消息。

现在来区分两种不同的情况:请求超时意味着在设置的时间内没有收到回声回复消息。这可能是由于许多不同的原因造成的:ARP 请求失败、网络拥塞、数据包过滤、路由错误,甚至是无声丢弃。

当您收到来自 [IP 地址] 的回复:“目标主机无法访问”时,问题发生在远程路由器上/之后,其地址由 [IP 地址] 指示。所以它是一个路由器,告诉你它和目的地址之间有问题。

  • 无需涉及路由器或其他设备。如果主机在本地子网中并且没有 ARP 条目,Windows 和 Linux 都会产生“主机无法访问”。 (3认同)

小智 4

主机已关闭消息:

这表明您不知道到所需目的地的路由,或者远程路由器报告它没有到目的地的路由。

暂停:

表示没有 Echo Reply 消息。默认时间内没有收到包裹。