繁体   English   中英

SubnetUtils isInRange 方法返回 True - 误报问题

[英]SubnetUtils isInRange Method Return True - False Positive Issue

我创建了一个具有此代码脚本的方法:

SubnetUtils utils = new SubnetUtils("15.0.0.0/8");
        if (utils.getInfo().isInRange("170.2.1.1"))
        {
            // Do some code
        } 

if 语句返回 true ! 但是单个ip不在范围内。

我究竟做错了什么? 是否有另一种方法来检查单个 ip 是否在范围内?

谢谢

它在y系统上显示正确的结果。 见下图:

我还打印了最小和最大范围:

System.out.println("lower address: " + utils.getInfo().getLowAddress());
System.out.println("higher address: " + utils.getInfo().getHighAddress());

我正在为SubnetUtils lib使用版本3.3

在此处输入图片说明

SubnetUtils subnetUtils = new SubnetUtils("cidrRange");
**subnetUtils.setInclusiveHostCount(true);**
boolean withinRange = subnetUtils.getInfo().isInRange("ipAddress");

参考: https ://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/util/SubnetUtils.SubnetInfo.html#isInRange-java.lang.String-

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM