如何判断两台设备是否在同一局域网内

1. IP&MASK

查看两台设备的ip4地址子网掩码
若子网掩码不一样,则不在同一局域网内
若一样,分别计算IP&MASK,若二者相同,则在同一局域网内,否则不在同一局域网。
如何判断两台设备是否在同一局域网内
192.168.0.101 & 255.255.255.0 = 192.168.0.0
如何判断两台设备是否在同一局域网内
192.168.0.105 & 255.255.255.0 = 192.168.0.0
二者结果相同,故在同一局域网内。

根据TTL

TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。
如果二者在同一设备内,则通过的网段数为0,TTL不会减少。

  1. 首先查看TTL的默认值
    如何判断两台设备是否在同一局域网内
    通过检查与自己的连接情况,我们得知默认的TTL值为64
  2. 检查与另外一个设备的连接情况
    如何判断两台设备是否在同一局域网内
    可以看到,TTL仍然是64,也就是说二者的连接没有经过其他网段,故二者在同一局域网内。

traceroute命令(linux下)

traceroute IP_B (用tcp测试) 
或
traceroute​ -I IP_B (用icmp测试)

linux上的traceroute命令可以跟踪一个包从A到B中间所经过的所有路由ip​。
如果是直达,说明AB在同一网内;如果有大于一行的返回结果,说明有转发,AB不在同一局域网内。

参考

如何判断两台设备在同一局域网内