0
我有IP列表以CIDR指定的範圍。我想比較範圍並刪除已經包含在另一個範圍內的所有範圍。比較Ip的範圍列表(用CIDR)在Java中
例如:我有:
10.152.0.0/14
10.152.2.0/24
10.153.3.0/24
在結果僅10.152。 0.0/14應該保留,因爲其他兩個已經包括在內。
我試圖與org.apache.commons.net.util包,但如果我不是錯了,它可以將範圍僅比作一個ADRESS,而不是比較範圍本身。
是否有任何的Java庫,可以幫我比較一下這些範圍?
好吧,這似乎很像是從org.apache.commons.net.util - > SubnetUtils.SubnetInfo'isInRange'相同。我希望能夠直接比較兩個範圍。 – d4rky91
好的,我喜歡你的建議。我沒有使用CIDRUtils,但是正如前面提到的org.apache.commons.net.util包那樣在我的列表中創建每個範圍的對象。之後,我通過將每個範圍的第一個和最後一個Ip與所有其他範圍進行比較,手動檢查它們。我在'isInRange'和'getAllAddresses'的幫助下做到了。如果範圍可能彼此重疊,這將不起作用,但對我而言情況並非如此。 – d4rky91