java ip范围_java 判断IP是否符合限定的IP范围内

1 /* 判断是否是内网IP */ 2 public static boolean isInnerIP(String ipAddress) { 3 boolean isInnerIp = false; 4 long ipNum = getIpNum(ipAddress); 5 /** 6 * 私有IP:A类 10.0.0.0-10.255.255.255 B类 172.16.0.0-172.31.255.255 C类 7 * 192.168.0.0-192.168.255.255 当然,还有127这个网段是环回地址 8 **/ 9 long aBegin = getIpNum("10.0.0.0");10 long aEnd = getIpNum("10.255.255.255");11 long bBegin = getIpNum("172.16.0.0");12 long bEnd = getIpNum("172.31.255.255");13 long cBegin = getIpNum("192.168.0.0");14 long cEnd = getIpNum("192.168.255.255");15 isInnerIp = isInner(ipNum, aBegin, aEnd)16 || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd)17 || ipAddress.equals("127.0.0.1");18 return isInnerIp;19 }20 21 /* 获取IP数 */22 private static long getIpNum(String ipAddress) {23 String[] ip = ipAddress.split("\\.");24 long a = Integer.parseInt(ip[0]);25 long b = Integer.parseInt(ip[1]);26 long c = Integer.parseInt(ip[2]);27 long d = Integer.parseInt(ip[3]);28 long ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;29 return ipNum;30 }31 32 private static boolean isInner(long userIp, long begin, long end) {33 return (userIp >= begin) && (userIp <= end);34 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值