0
CIDRで指定されたIP範囲のリストがあります。私は範囲を比較し、既に別の範囲に含まれているすべての範囲を削除したいと思います。JavaのIp Ranges(CIDR付き)リストを比較してください。
例:私が持っている:結果のみ10.152で
10.152.0.0/14
10.152.2.0/24
10.153.3.0/24
。他の2つは既にそれに含まれているので、0.0/14は残るべきです。
私はorg.apache.commons.net.utilパッケージを試してみましたが、間違っていない場合はRangeとAdressを比較し、範囲自体を比較することはできません。
これらの範囲を比較するのに役立つJavaのライブラリはありますか?
これは、org.apache.commons.net.util - > SubnetUtils.SubnetInfoの 'isInRange'のようなものです。 2つの範囲を直接比較する方法があることを期待していました。 – d4rky91
さて、あなたの提案したような気がしました。私はCIDRUtilsを使用しませんでしたが、上記のorg.apache.commons.net.utilパッケージを使用して、リスト内の各範囲のオブジェクトを作成しました。その後、それぞれの範囲の最初と最後のIPを他のすべての範囲と比較して手動でチェックしました。私は 'isInRange'と 'getAllAddresses'の助けを借りてそれをしました。範囲が互いに重なり合う可能性がある場合、これはうまくいかず、私の場合はそうではありません。 – d4rky91