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


11

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

  • 超时
  • 主机已关闭消息

ping命令如何知道主机是否关闭?在这两种情况下,主机都不会对ping数据包发送任何响应,那么如何ping分辨出差异?


Answers:


3

主机已关闭消息:

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

超时:

指示缺少回声回复消息。在默认时间内未收到任何包裹。


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.

但这与其他网络资源一样。可以从网关接收代码0、1、4和5。可以从主机接收代码2和3。

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

在目标主机中,由于指示的协议模块或进程端口未激活,IP模块无法传送数据报的情况,则目标主机可能会向源主机发送“目标不可达”消息。

最后,如果必须将数据报分段以由网关转发,但“不分段”标志处于打开状态,则网关将丢弃该数据报并返回“目的地不可达”消息。

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

当您收到来自[IP地址]的答复:“目标主机不可达”时,则问题发生在远程路由器上或之后,该路由器的地址由[IP地址]指示。因此,这是一个路由器,它告诉您它和目标地址之间存在问题。


3
不需要路由器或其他设备。如果主机位于本地子网中并且没有ARP条目,则Windows和Linux都将产生“主机不可达”。
噢,我的天哪,

如果主机不可达,则无法产生启动器可接收的答案。
凌驾于

ping主机生成消息。显然目的地不能。
噢,我的天哪,

那就是网关。
凌驾于

否。“网关”是第3层构造。没有路由,因此在本地子网上ping主机时根本不涉及网关。
噢,我的天哪,

-3

如果计算机未连接到Internet,则无法ping通,因为通过ping操作,您实际上是请求主机的ip。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.