您的位置:首页 > 其它

判断某个IP是否在IP段内

2017-05-19 14:46 351 查看
import java.net.InetAddress;
import java.net.UnknownHostException;

public class Test {

public static void main(String[] args) {
boolean result = new Test().isValidRange("192.168.4.1", "192.168.45.112", "192.168.42.25");
System.out.println(result);
}

public boolean isValidRange(String ipStart, String ipEnd, String ipToCheck) {

try {
long ipLo = ipTolong(InetAddress.getByName(ipStart));
long ipHi = ipTolong(InetAddress.getByName(ipEnd));
long ipcheck = ipTolong(InetAddress.getByName(ipToCheck));

return (ipcheck > ipLo && ipcheck < ipHi);
} catch (UnknownHostException e) {
e.printStackTrace();
return false;

}
}

public long ipTolong(InetAddress ip) {
long result = 0;

byte[] ipAdds = ip.getAddress();

for (byte b : ipAdds) {
result <<= 8;
result |= b & 0xff;
}

return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: