我想在commons-net中创建一个包罗万象的ip范围,但是当我尝试
时SubnetUtils subnetUtils = new SubnetUtils("0.0.0.0", "0.0.0.0");
或相同:
SubnetUtils subnetUtils = new SubnetUtils("0.0.0.0/0");
我得到一个例外:
java.lang.IllegalArgumentException: Value [0] not in range (0,32]
at org.apache.commons.net.util.SubnetUtils.rangeCheck(SubnetUtils.java:304)
at org.apache.commons.net.util.SubnetUtils.calculate(SubnetUtils.java:229)
at org.apache.commons.net.util.SubnetUtils.<init>(SubnetUtils.java:63)
我看到已有一张票:https://issues.apache.org/jira/browse/NET-511。 他们说,这个问题在下一个(3.4)版本中得到了解决。
当commons-net 3.4发布时,是否有任何解决方法(如SubnetUtils对象列表)一起允许每个IPv4地址?
答案 0 :(得分:2)
是的,有一个解决方法,包含SubnetUtils对象列表,如您所述:
CIDR Signature: [0.255.255.255/1] Netmask: [128.0.0.0]
First Address: [0.0.0.0]
Last Address: [127.255.255.255]
CIDR Signature: [255.255.255.255/1] Netmask: [128.0.0.0]
First Address: [128.0.0.0]
Last Address: [255.255.255.255]
或使用Java代码:
SubnetUtils subnetUtils1 = new SubnetUtils("0.255.255.255/1");
SubnetUtils subnetUtils2 = new SubnetUtils("255.255.255.255/1");