我如何比较一个IP地址子网范围是否已经属于另一个IP地址子网范围?即检查它们在网络上是否有相同的主机
这些地址可以属于A,B,C类之一
所需输出示例:
这里需要检查子网范围str2是否是较大子网范围str1的一部分
str1 = "192.168.10.40-192.168.11.40"
str2 = "192.168.10.45-192.168.11.23"
或
str1 = "10.9.10.35-10.10.11.35"
str2 = "10.10.10.45-10.10.11.23"
我如何测试上述范围?
import ipaddress
def calc(var1, var2):
a=var1.split("-")
b=var2.split("-")
if (ipaddress.ip_address(a[0]) <= ipaddress.ip_address(b[0])) & (ipaddress.ip_address(a[1]) >= ipaddress.ip_address(b[1])):
return True
str1 = "192.168.10.40-192.168.11.40"
str2 = "192.168.10.45-192.168.11.23"
if calc(str1, str2):
print(" address 2 IS part of address 1")
else:
print(" address 2 IS NOT part of address 1")