ArisKortex Asked: 2016-12-06 06:34:05 +0800 CST2016-12-06 06:34:05 +0800 CST 2016-12-06 06:34:05 +0800 CST 在不使用 ping 的情况下检查机器的启动或关闭状态 772 我有一个功能,目前通过这样做可以快速 ping 到同一网络中的远程机器: ping -n 1 然后它评估命令是否成功(1 或 0)以确定机器是否已打开电源。 似乎这种方法无法正常工作,因为只有在尝试 ping 的 IP 的 DNS 解析失败时,我才会从 ping 中得到 1。在任何其他情况下,似乎 ping 将返回零(即使机器确实已关闭),因为它似乎在自身环回。 有没有人对任何合适的替代品有一个好主意?我正在考虑 telnet,但这可能需要很长时间才能超时,我想要尽可能好的性能。 ip ping 2 个回答 Voted EEAA 2016-12-06T06:39:03+08:002016-12-06T06:39:03+08:00 首先,导致第一次 ping 失败的不是 DNS 解析,而是它的 ARP 解析。 其次,只是增加 ping 的数量。这就是每个商业和 F/OSS 监控系统所做的事情。 Best Answer sysfiend 2016-12-06T07:55:05+08:002016-12-06T07:55:05+08:00 ICMP 数据报是 32 位的,您不需要建立任何连接(例如,不像使用 TCP 时那样)。 正如某些人已经说过的那样,将 DNS 定向到 IP 时与它无关ping,它是 ARP 在那里工作/失败的那个。 ping 使用简单(我不会只 ping 一次)和静态 ARP 映射(如@EEAA 所述)或在检查任何内容之前填充服务器的 ARP 缓存,您将获得最佳性能,因此没有延迟(并且可能失败)当您的交换机询问谁拥有被 ping 的 IP 的 MAC 地址时
首先,导致第一次 ping 失败的不是 DNS 解析,而是它的 ARP 解析。
其次,只是增加 ping 的数量。这就是每个商业和 F/OSS 监控系统所做的事情。
ICMP 数据报是 32 位的,您不需要建立任何连接(例如,不像使用 TCP 时那样)。
正如某些人已经说过的那样,将 DNS 定向到 IP 时与它无关
ping
,它是 ARP 在那里工作/失败的那个。ping
使用简单(我不会只 ping 一次)和静态 ARP 映射(如@EEAA 所述)或在检查任何内容之前填充服务器的 ARP 缓存,您将获得最佳性能,因此没有延迟(并且可能失败)当您的交换机询问谁拥有被 ping 的 IP 的 MAC 地址时