简单的网络问题

Qua*_*fan 3 networking

在网络中,我的 IP 是 192.168.1.101。我正在尝试建立我的另一台家用电脑,其 IP 为 192.168.1.102(使用路由器连接)。现在,当我 ping 192.168.1.102 关闭时,我得到Sent = 4, Received = 4, Lost = 0 (0% loss). 但是,那台电脑已关闭,

  • 为什么我会得到0% loss0% loss当 192.168.1.102 打开时,我也会得到这个。
  • 并且Destination host unreachable.假设在 ping 任何 ip 之后,如果我得到这个,那么该 IP 与网络断开连接是否安全?
  • 是否只有 2 种状态可以让 IP 位于网络中?可达(开启并可以 ping 通)和不可达(关闭所以无法 ping 通)
  • ping 可以被防火墙阻止吗?如果是,如何检查该 IP 是否在我的网络中?(我正在尝试开发客户端服务器软件,并且我正在寻找一种检测有效 IP 的方法,该 IP 将从服务器端进行身份验证。)

192.168.1.102关闭时

C:\Users>ping 192.168.1.102

Pinging 192.168.1.102 with 32 bytes of data:
Reply from 192.168.1.101: Destination host unreachable.
Reply from 192.168.1.101: Destination host unreachable.
Reply from 192.168.1.101: Destination host unreachable.
Reply from 192.168.1.101: Destination host unreachable.

Ping statistics for 192.168.1.102:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Run Code Online (Sandbox Code Playgroud)

192.168.1.102打开时

C:\Users>ping 192.168.1.102

Pinging 192.168.1.102 with 32 bytes of data:
Reply from 192.168.1.102: bytes=32 time=172ms TTL=128
Reply from 192.168.1.102: bytes=32 time=1ms TTL=128
Reply from 192.168.1.102: bytes=32 time=1ms TTL=128
Reply from 192.168.1.102: bytes=32 time=29ms TTL=128

Ping statistics for 192.168.1.102:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 172ms, Average = 50ms
Run Code Online (Sandbox Code Playgroud)

小智 5

0% loss在这种情况下,Windows ping 报告,但 Linux 的 ping 报告100% loss. 这确实是一个语义问题,因为在“目标主机无法访问”的情况下,不会发送实际的 ping 数据包(这是 ARP 查找失败)。

回答您的第二个问题:即使机器打开,ping 也可能会失败,因为防火墙可以阻止 ICMP ping 数据包。

如果您需要有关问题的替代解决方案的建议,请详细说明您尝试执行的“身份验证”类型。

如果您只想知道一个地址是否在同一个本地网络(“子网”)上,您可能会对route print命令感兴趣。查看网络目标和网络掩码列以确定当前子网的地址范围。