配置文件中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;
}
分享到:
相关推荐
java判断IP是否在指定范围内,支持IPV4和IPV6。
在Java中,可以使用正则表达式来验证IP地址是否正确。 正则表达式的作用是将字符串分割成多个小组,并通过这些小组来匹配指定的模式。在Java中,我们可以使用java.util.regex包来使用正则表达式。在这个包中,有两...
在描述中,“能测试设定范围内IP是否能ping通”进一步强调了这个工具可以对一个连续的IP地址范围进行批量测试,而不是仅仅针对单个IP地址。这种功能对于网络管理员或系统管理员来说非常有用,因为他们可能需要快速...
- **IP地址合法性验证函数**:负责验证IP地址的格式是否正确。 - **子网掩码合法性验证函数**:负责验证子网掩码是否合法。 - **子网归属判断函数**:负责判断IP地址是否属于给定的子网。 ##### 5.3 程序流程图 - ...
在日常的网络管理与开发工作中,经常会遇到需要验证用户输入的IP地址是否合法的需求。对于某些特定场景,如仅需输入IP地址的一部分来搜索或过滤设备时,传统的全量IP地址验证就显得不够灵活。本文将详细介绍一个...
5. **地址有效性检查**:验证给定的IP地址是否合法,以及是否属于指定的网络。 6. **网络掩码计算**:根据所需的主机数量,自动计算出合适的子网掩码。 7. **反向DNS查找**:对于已知的IP地址,可以找出对应的PTR...
5. **IP范围检测**:确定某个IP地址是否属于某一特定子网。 6. **CIDR(Classless Inter-Domain Routing)表示法支持**:转换和处理用CIDR表示的子网。 7. **可视化展示**:以表格或图表形式显示子网划分结果,...
4. IP地址范围判断:在分配IP地址时,需要知道地址是否在某个范围内。可以编写函数比较IP地址与指定的起始IP和结束IP。 三、IP地址分配算法 1. 连续分配:简单地按照顺序分配IP地址,但可能导致IP浪费,特别是在有...
4. **管理IP范围**:对于大型网络,工具可以帮助管理员管理和分配IP地址,确保所有设备都在指定的IP范围内。 5. **日志记录与报告**:提供详细的日志和报告,便于分析问题发生的原因和追踪修复过程。 使用IP地址...
此外,为了确保输入的IP地址格式正确,开发者可能还会添加自定义的消息处理逻辑,例如在用户键入时实时验证IP地址的每个部分是否在0-255范围内,并在不符合规则时给出提示。 IPbox_ec_IP地址编辑框2.0的一个显著...
标题中的“IP地址扫描工具”指的是用于网络管理或者安全检测的一种软件,它能够自动发现并列举出指定IP地址范围内的所有活动设备。这样的工具在排查网络问题、管理网络设备、检查网络安全漏洞时非常实用。 描述中...
3. **子网掩码验证函数** (`validateMask`):检查掩码值是否在有效范围内。 4. **子网归属判断函数** (`isIpInSubnet`):将 IP 地址和子网转换为整型并使用位运算进行比较。 #### 六、总结 本项目实现了对 IP 地址...
2. **验证IP地址格式**:检查输入的IP地址是否符合标准格式。 3. **验证子网掩码格式**:同样检查子网掩码是否符合规范。 4. **解析IP地址**:将IP地址分解为网络标识和主机标识。 5. **应用子网掩码**:使用子网...
例如,可以将IP地址和子网掩码转换为整数,然后进行按位与运算,以确定IP地址是否落在指定的子网范围内。 通过这样的实验,学生可以深入理解IP地址的结构、子网掩码的作用以及如何在实际编程中实现这些概念。这对于...
例如,检查一个IP是否在子网掩码指定的网络范围内。 ```java int ipInt = toInteger(ipAddress); // 将IP转换为整数 int subnetInt = toInteger(subnetAddress); // 子网掩码对应的整数 int hostInt = ipInt & ...
1. 扫描指定的IP地址范围:用户可以自定义扫描的IP地址段,如192.168.1.0/24,工具会遍历这个范围内的所有地址,查找活动设备。 2. 自动识别主机名:工具能够解析出IP地址对应的主机名,提供更直观的设备标识。 3. ...
程序需要验证输入的IP地址格式是否正确,同时还要判断这个IP地址是否属于由子网地址和子网掩码定义的网络段内。 实现这个功能,首先需要解析输入的IP地址和子网掩码,将其从点分十进制转换为二进制形式。然后,通过...
2. **IP验证**:除了域名,系统还会对请求的IP地址进行验证。这增加了另一层安全,因为即使攻击者获取了授权域名,若不在许可的IP范围内,也无法运行程序。IP验证可以通过比较预设的授权IP列表与当前请求的IP来完成...