如何比较两个IP范围?

问题描述 投票:-2回答:1

我如何比较一个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"

我如何测试上述范围?

python python-3.x ip ip-address cidr
1个回答
0
投票
您可以尝试这个:

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")

© www.soinside.com 2019 - 2024. All rights reserved.