如何检测IP是否在网络中?

时间:2013-07-25 08:40:42

标签: java ip

我在python(lib ipaddress)中找到了。这是一个蟒蛇的例子。

ip="1.232.12.3"
net="1.232.12.0/20"
ip in net

结果true

我可以在Java中找到它吗?

1 个答案:

答案 0 :(得分:7)

您要问的是IP是否在给定的 cidr范围内。您可以编写自己的代码来确定cidr的开始和结束,看看IP是否属于该范围,或者只使用Apache Commons Net库。

SubnetUtils类完全符合您的要求:

String cidrRange = "1.232.12.0/20";
String addr = "1.232.12.3";
SubnetUtils utils = new SubnetUtils(cidrRange);
boolean isInRange = utils.getInfo().isInRange(addr);