重复子网的Python脚本

时间:2017-05-23 08:45:23

标签: python excel

我有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

1 个答案:

答案 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)变得微不足道,那么你需要一个循环,将每个范围与后面的所有范围进行比较。