Java Commons net 3.3子网不允许0.0.0.0/0
我想在commons net中创建一个包罗万象的ip范围,但当我尝试时Java Commons net 3.3子网不允许0.0.0.0/0,java,ip-address,subnet,apache-commons-net,Java,Ip Address,Subnet,Apache Commons Net,我想在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.apac
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)
java.lang.IllegalArgumentException:值[0]不在范围内(0,32]
位于org.apache.commons.net.util.SubnetUtils.rangeCheck(SubnetUtils.java:304)
位于org.apache.commons.net.util.SubnetUtils.calculate(SubnetUtils.java:229)
位于org.apache.commons.net.util.SubnetUtils。(SubnetUtils.java:63)
我看到已经有这张票了:。
他们说,这个问题将在下一个(3.4)版本中解决
到commons net 3.4发布时,是否有任何解决方案(如子网对象列表)可以同时允许每个IPv4地址?是的,有一个解决方案,包括子网对象列表,如您所述:
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");
谢谢。这是不允许的,这太可笑了。我们应该如何根据偏好构建一个全通过滤器呢?