ip网段限制
2013-01-23 14:28
746 查看
public class Test {
boolean i;
public static boolean ipIsValid(String ipSection, String ip) {
if (ipSection == null)
throw new NullPointerException("IP段不能为空!");
if (ip == null)
throw new NullPointerException("IP不能为空!");
ipSection = ipSection.trim();
ip = ip.trim();
final String REGX_IP = "((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)";
final String REGX_IPB = REGX_IP + "\\-" + REGX_IP;
if (!ipSection.matches(REGX_IPB) || !ip.matches(REGX_IP))
return false;
int idx = ipSection.indexOf('-');
String[] sips = ipSection.substring(0, idx).split("\\.");
String[] sipe = ipSection.substring(idx + 1).split("\\.");
String[] sipt = ip.split("\\.");
long ips = 0L, ipe = 0L, ipt = 0L;
for (int i = 0; i < 4; ++i) {
ips = ips << 8 | Integer.parseInt(sips[i]);
ipe = ipe << 8 | Integer.parseInt(sipe[i]);
ipt = ipt << 8 | Integer.parseInt(sipt[i]);
}
if (ips > ipe) {
long t = ips;
ips = ipe;
ipe = t;
}
return ips <= ipt && ipt <= ipe;
}
public static void main(String[] args) {
if (ipIsValid("102.168.1.1-192.168.1.100", "192.168.1.54")) {
System.out.println("ip属于该网段");
} else
System.out.println("ip不属于该网段");
}
在其他类中调用并判断 if(Test.ipIsValid("102.168.1.1-192.168.1.133", ip))
boolean i;
public static boolean ipIsValid(String ipSection, String ip) {
if (ipSection == null)
throw new NullPointerException("IP段不能为空!");
if (ip == null)
throw new NullPointerException("IP不能为空!");
ipSection = ipSection.trim();
ip = ip.trim();
final String REGX_IP = "((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]\\d|\\d)";
final String REGX_IPB = REGX_IP + "\\-" + REGX_IP;
if (!ipSection.matches(REGX_IPB) || !ip.matches(REGX_IP))
return false;
int idx = ipSection.indexOf('-');
String[] sips = ipSection.substring(0, idx).split("\\.");
String[] sipe = ipSection.substring(idx + 1).split("\\.");
String[] sipt = ip.split("\\.");
long ips = 0L, ipe = 0L, ipt = 0L;
for (int i = 0; i < 4; ++i) {
ips = ips << 8 | Integer.parseInt(sips[i]);
ipe = ipe << 8 | Integer.parseInt(sipe[i]);
ipt = ipt << 8 | Integer.parseInt(sipt[i]);
}
if (ips > ipe) {
long t = ips;
ips = ipe;
ipe = t;
}
return ips <= ipt && ipt <= ipe;
}
public static void main(String[] args) {
if (ipIsValid("102.168.1.1-192.168.1.100", "192.168.1.54")) {
System.out.println("ip属于该网段");
} else
System.out.println("ip不属于该网段");
}
在其他类中调用并判断 if(Test.ipIsValid("102.168.1.1-192.168.1.133", ip))
相关文章推荐
- apache 限制IP网段访问
- vsftpd类似wu-ftpd分类(Class)的配置-给不同网段的人以不同的上传权限-对虚拟用户进行访问IP限制
- tomcat 限制IP
- ORA-21520故障 限制某个ip的连接数
- php限制ip
- nginx指定目录ip访问限制
- 限制IP访问页面--限制IP
- heartbeat 本机ip与网关不在同一网段遇到的问题
- oracle设置限制访问的IP
- 通过mod_limitipconn模块来限制apache的并发连接数
- docker 指定IP地址、与主机同网段IP
- firewalld防火墙 禁止/限制 特定用户的IP访问,drop和reject区别
- Docker学习(9)------配置Docker Container与Docker宿主机同网段IP
- 【计算机网络】验证两个ip是否在同一网段
- hosts.allow限制ip连接服务器各个服务(ftp、ssh等)
- Linux 单机单网卡配置双IP跨网段访问方法
- CAS通过用户名与ip限制密码输入错误次数
- nginx配置limit_req限制ip访问速率详解