我有excel包含子网列表(2000 +)。现在我需要从excel读取子网,找出重叠的子网并将这些重叠的子网放在不同的excel中。我需要使用python脚本来实现这一点。请帮我获取输出。
请在下面找到示例excel。
S.no | Location | Subnet
------ --------- -----------
1 | A | 10.20.30.0/24
2 | B | 10.21.30.0/16
3 | C | 120.0.0.0/8
4 | D | 10.20.30.0/8
5 | E | 100.50.40.0/24
6 | F | 24.30.40.0/28
答案 0 :(得分:0)
提示1:将每个(开始)IP地址转换为单个数字
A = 1st octet * 2^24
+ 2nd octet * 2^16
+ 3rd octet * 2^8
+ 4th octet
提示2:从掩码计算结束地址
该细分包含x = 2^(32-Mask)
个地址,因此您的结束地址为
B = A + x -1
找出是否有任何范围(Ax,Bx)重叠范围(A1,B1)变得微不足道,那么你需要一个循环,将每个范围与后面的所有范围进行比较。