Linux判断同网段的方法

一、理论基础

 

要想判断两个不同的IP是否属于同网段,可以通过判断IP的网络标识是否一致来直接判断。网络标识一致,则处于同网段;反之,不是同网段。运算方式可以通过IP地址、子网掩码和默认网关运算

二、实践是检验真理的唯一标准

1、Linux运算信息获取

ifconfig
ip route show

(1)linux设备1

IP地址:10.80.20.237

子网掩码:255.255.254.0

默认网关:10.80.21.254

Linux判断同网段的方法_第1张图片

2、windows运算信息获取

ipconfig

(1)windows设备1

IP地址:10.80.20.39

子网掩码:255.255.254.0

默认网关:10.80.21.254

Linux判断同网段的方法_第2张图片

(2)windows设备2

IP地址:10.80.21.118

子网掩码:255.255.254.0

默认网关:10.80.21.254

Linux判断同网段的方法_第3张图片

 3、计算网络标识

(1)linux设备1

①运算信息转为八位二进制(不够位数则前面补0):

IP地址:00001010.01010000.00010100.11101101

子网掩码:11111111.11111111.11111110.00000000

②与运算(0和1=0 0和0=0 1和1=1)

备注:各类IP的网络标识算法不一样。A类的,只算第一段(IP总共有4段)。B类,只算第一、二段。C类,算第一、二、三段。

IP地址与子网掩码做与运算的结果(网络标识):

00001010.01010000.00010100.00000000

Linux判断同网段的方法_第4张图片

(2)windows设备1

IP地址:00001010.01010000.00010100.00100111

子网掩码:11111111.11111111.11111110.00000000

网络标识:00001010.01010000.00010100.00000000

(3)windows设备2

IP地址:00001010.01010000.00010101.01110110

子网掩码:11111111.11111111.11111110.00000000

网络标识:00001010.01010000.00010100.00000000

4、结论

这里基于C类网络标识来判断,则上述三个设备均属于同一网段。

你可能感兴趣的:(Linux,linux,运维,服务器)