我在 Windows 和 LAN 上使用以下格式的命令行 PING:
ping -a -n 5 -S <source ip> <destination ip>
在大多数情况下,它都能完成应有的工作,但我注意到有 3 个问题,我很想更好地理解这些问题。
两台机器均处于离线状态,但响应不同
- 其中一条说:
Reply from <source ip>: Destination host unreachable.
- 还有人说:
Request timed out.
现在我的理解是,“无法访问”的意思正是如此,无法访问(显然它是关闭的),但另一个意思表明它已打开,但只是没有响应(这里不应该是这种情况,因为它是关闭的),那么为什么报告结果的方式会有所不同呢?
此外,正如您在命令中看到的,选项-a
已设置,这意味着它应该解析为机器名称,但结果却不是这样。我怀疑这可能是 NetBIOS 问题,但想确认一下。
答案1
目标主机不可达当负责路由数据包的本地系统或远程系统无法确定到达目的地的路由时,就会发生这种情况。如果目标主机位于同一子网中,但未响应 ARP,也会触发主机不可达错误。所以基本上,这是您的计算机在说“我不知道将这个数据包发送到哪里,主机处于离线状态且未响应 ARP,或者我不知道将其路由到哪里”。
请求超时当在超时期限内未收到任何回应回复时,就会发生这种情况。这可能是由于防火墙阻止请求或网络拥塞等原因造成的。这种情况通常发生在存在到目的地的路由,但其他东西阻止了 ping 时。这基本上是您的计算机在说“我知道要将此数据包发送到哪里,我已经发送了,但我从未收到回复”。