如何检查IP地址是否来自Java中的特定网络/网络掩码?
问题描述:
我需要确定给定的IP地址是否来自某个特殊的网络,以便自动进行身份验证.
I need to determine if given IP address is from some special network in order to authenticate automatically.
答
Apache Commons Net 具有org.apache.commons.net.util.SubnetUtils
似乎可以满足您的需求.看起来您正在执行以下操作:
Apache Commons Net has org.apache.commons.net.util.SubnetUtils
that appears to satisfy your needs. It looks like you do something like this:
SubnetInfo subnet = (new SubnetUtils("10.10.10.0", "255.255.255.128")).getInfo();
boolean test = subnet.isInRange("10.10.10.10");
请注意,正如 carson 指出的那样,Apache Commons Net具有
Note, as carson points out, that Apache Commons Net has a bug that prevents it from giving the correct answer in some cases. Carson suggests using the SVN version to avoid this bug.