好的,im用C#和im编写一个程序,如果你愿意的话,它试图检测重叠的IP池或重叠的子网通配符。我使用了NOT逻辑将其从通配符转换为子网。现在我要检测IP是否重叠。举个例子:
192.168.1.1 255.255.0.0
重叠
192.168.1.1 255.255.255.0
所以我希望我的代码能够检测到这个。有人知道这件事吗。
任何帮助都是被认可的。
发布于 2015-02-18 12:15:35
您需要将IP和子网掩码从点小数表示法转换为32位整数。我们叫他们ip1_addr,ip2_addr,ip1_msk,ip2_msk。
首先,比较这两个掩码,找出哪一个更小(掩码值越小,范围越大),第二步将使用该掩码。然后按位对每个ip地址和子网掩码进行检查,检查结果是否是相同的ip1_addr & mask == ip2_addr & mask。
https://stackoverflow.com/questions/28582228
复制相似问题