`
danandyu8013
  • 浏览: 38951 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

验证IP地址是否在指定的范围内

阅读更多

配置文件中IP_SECTION=192.168.1.1-192.168.1.201

 

// 验证IP地址是否在配置文件中所指定的范围内

public boolean isIpValid(String ip) {

String sysConfigIpSection = sysConfg.getValue("IP_SECTION");

// 从配置文件中读取合法IP地址段信息

String[] ipSection = sysConfigIpSection.split(";");

for (int k = 0; k < ipSection.length; k++) {

ipSection[k] = ipSection[k].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[k].matches(REGX_IPB) || !ip.matches(REGX_IP))

return false;

int idx = ipSection[k].indexOf('-');

String[] sips = ipSection[k].substring(0, idx).split("\\.");

String[] sipe = ipSection[k].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;

}

if (ips <= ipt && ipt <= ipe) {

logger.info("【mid验证】mid为空,判断ip地址:" + ip + "包含于合法地址段"

+ ipSection[k] + "中,验证通过");

return true;

}

 

}

logger.info("【mid验证】mid为空,判断ip地址:" + ip + "非法,无继续访问权限");

return false;

}

分享到:
评论

相关推荐

    CIDRUtils.java 判断IP是否在指定范围内

    java判断IP是否在指定范围内,支持IPV4和IPV6。

    java正则表达式验证IP地址

    在Java中,可以使用正则表达式来验证IP地址是否正确。 正则表达式的作用是将字符串分割成多个小组,并通过这些小组来匹配指定的模式。在Java中,我们可以使用java.util.regex包来使用正则表达式。在这个包中,有两...

    能测试设定范围内IP是否能ping通

    在描述中,“能测试设定范围内IP是否能ping通”进一步强调了这个工具可以对一个连续的IP地址范围进行批量测试,而不是仅仅针对单个IP地址。这种功能对于网络管理员或系统管理员来说非常有用,因为他们可能需要快速...

    编写程序判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网

    - **IP地址合法性验证函数**:负责验证IP地址的格式是否正确。 - **子网掩码合法性验证函数**:负责验证子网掩码是否合法。 - **子网归属判断函数**:负责判断IP地址是否属于给定的子网。 ##### 5.3 程序流程图 - ...

    JS验证IP函数(支持分段验证)

    在日常的网络管理与开发工作中,经常会遇到需要验证用户输入的IP地址是否合法的需求。对于某些特定场景,如仅需输入IP地址的一部分来搜索或过滤设备时,传统的全量IP地址验证就显得不够灵活。本文将详细介绍一个...

    IP地址计算器工具 设计网络ip地址规划

    5. **地址有效性检查**:验证给定的IP地址是否合法,以及是否属于指定的网络。 6. **网络掩码计算**:根据所需的主机数量,自动计算出合适的子网掩码。 7. **反向DNS查找**:对于已知的IP地址,可以找出对应的PTR...

    IP地址分析工具VB源码

    5. **IP范围检测**:确定某个IP地址是否属于某一特定子网。 6. **CIDR(Classless Inter-Domain Routing)表示法支持**:转换和处理用CIDR表示的子网。 7. **可视化展示**:以表格或图表形式显示子网划分结果,...

    非常强悍的JS 实现IP地址分配 源码

    4. IP地址范围判断:在分配IP地址时,需要知道地址是否在某个范围内。可以编写函数比较IP地址与指定的起始IP和结束IP。 三、IP地址分配算法 1. 连续分配:简单地按照顺序分配IP地址,但可能导致IP浪费,特别是在有...

    IP地址修正工具-用与S扫描后IP的修正

    4. **管理IP范围**:对于大型网络,工具可以帮助管理员管理和分配IP地址,确保所有设备都在指定的IP范围内。 5. **日志记录与报告**:提供详细的日志和报告,便于分析问题发生的原因和追踪修复过程。 使用IP地址...

    IPbox_ec_IP地址编辑框2.0

    此外,为了确保输入的IP地址格式正确,开发者可能还会添加自定义的消息处理逻辑,例如在用户键入时实时验证IP地址的每个部分是否在0-255范围内,并在不符合规则时给出提示。 IPbox_ec_IP地址编辑框2.0的一个显著...

    Ip地址扫描工具

    标题中的“IP地址扫描工具”指的是用于网络管理或者安全检测的一种软件,它能够自动发现并列举出指定IP地址范围内的所有活动设备。这样的工具在排查网络问题、管理网络设备、检查网络安全漏洞时非常实用。 描述中...

    java编写的: 编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定的子网。

    3. **子网掩码验证函数** (`validateMask`):检查掩码值是否在有效范围内。 4. **子网归属判断函数** (`isIpInSubnet`):将 IP 地址和子网转换为整型并使用位运算进行比较。 #### 六、总结 本项目实现了对 IP 地址...

    IP地址合法性判断及子网检测_实验报告.pdf

    2. **验证IP地址格式**:检查输入的IP地址是否符合标准格式。 3. **验证子网掩码格式**:同样检查子网掩码是否符合规范。 4. **解析IP地址**:将IP地址分解为网络标识和主机标识。 5. **应用子网掩码**:使用子网...

    ip地址合法性检测和子网匹配

    例如,可以将IP地址和子网掩码转换为整数,然后进行按位与运算,以确定IP地址是否落在指定的子网范围内。 通过这样的实验,学生可以深入理解IP地址的结构、子网掩码的作用以及如何在实际编程中实现这些概念。这对于...

    java ip 地址分析

    例如,检查一个IP是否在子网掩码指定的网络范围内。 ```java int ipInt = toInteger(ipAddress); // 将IP转换为整数 int subnetInt = toInteger(subnetAddress); // 子网掩码对应的整数 int hostInt = ipInt & ...

    IP地址扫描工具

    1. 扫描指定的IP地址范围:用户可以自定义扫描的IP地址段,如192.168.1.0/24,工具会遍历这个范围内的所有地址,查找活动设备。 2. 自动识别主机名:工具能够解析出IP地址对应的主机名,提供更直观的设备标识。 3. ...

    计算机网络课设-判断一个IP地址是否合法.doc

    程序需要验证输入的IP地址格式是否正确,同时还要判断这个IP地址是否属于由子网地址和子网掩码定义的网络段内。 实现这个功能,首先需要解析输入的IP地址和子网掩码,将其从点分十进制转换为二进制形式。然后,通过...

    PHP授权验证系统V2.1完整版,域名 IP双重验证 一键更新授权系统.zip

    2. **IP验证**:除了域名,系统还会对请求的IP地址进行验证。这增加了另一层安全,因为即使攻击者获取了授权域名,若不在许可的IP范围内,也无法运行程序。IP验证可以通过比较预设的授权IP列表与当前请求的IP来完成...

Global site tag (gtag.js) - Google Analytics