public class IpUtil {
/**
* 验证IP是否在范围内。
*
* @param ip
* 子网
* @param mask
* 子网掩码
* @param clientIp
* 需要验证的IP
* @return
*/
public static boolean isInRange(String ip, int mask, String clientIp) {
byte maskByte = Byte.parseByte(String.valueOf(mask));
int intMask = ~((1 << (32 - maskByte)) - 1);
int intIp = convertIp2Int(ip);
int intClientIp = convertIp2Int(clientIp);
return ((intIp & intMask) == (intClientIp & intMask));
}
private static int convertIp2Int(String ipAddress) {
int result = 0;
Inet4Address i4ip = null;
try {
i4ip = (Inet4Address) InetAddress.getByName(ipAddress);
} catch (UnknownHostException e) {
e.printStackTrace();
}
if (null != i4ip) {
byte[] temp = i4ip.getAddress();
result = (temp[0] << 24) | ((temp[1] & 0xFF) << 16)
| ((temp[2] & 0xFF) <<
| (temp[3] & 0xFF);
}
return result;
}
}
分享到:
相关推荐
java判断IP是否在指定范围内,支持IPV4和IPV6。
ip工具类(用于判断IP是否在网段内,给定网段判断IP的范围)
在描述中,“能测试设定范围内IP是否能ping通”进一步强调了这个工具可以对一个连续的IP地址范围进行批量测试,而不是仅仅针对单个IP地址。这种功能对于网络管理员或系统管理员来说非常有用,因为他们可能需要快速...
在Java中,可以使用正则表达式来验证IP地址是否正确。 正则表达式的作用是将字符串分割成多个小组,并通过这些小组来匹配指定的模式。在Java中,我们可以使用java.util.regex包来使用正则表达式。在这个包中,有两...
### JS验证IP函数(支持分段验证) 在日常的网络管理与开发工作中,经常会遇到需要验证用户输入的IP地址是否合法的需求。对于某些特定场景,如仅需输入IP地址的一部分来搜索或过滤设备时,传统的全量IP地址验证就...
利用`RegExp.$1`、`RegExp.$2`等,我们可以访问这些捕获的值,并检查它们是否在0到255的范围内。 如果所有部分都在有效范围内,`arguments.IsValid`被设置为`true`,表示验证通过;否则,将其设置为`false`,表示...
这种方法不仅可以确保IP地址的格式正确,还可以确保每段数字都在合法范围内。 通过以上介绍,我们可以看出,在Java中使用正则表达式来验证IP地址的有效性是一种非常实用的方法。不仅可以提高代码的可读性和可维护性...
### 二、验证IP地址 对于IP地址的验证,特别是IPv4地址,其结构为四组0到255之间的数字,每组之间用点分隔。为了实现这一点,可以设计如下的正则表达式: ```csharp public bool IPCheck(string IP) { string num...
这增加了另一层安全,因为即使攻击者获取了授权域名,若不在许可的IP范围内,也无法运行程序。IP验证可以通过比较预设的授权IP列表与当前请求的IP来完成。 3. **一键更新授权**:此功能允许用户轻松地更新他们的...
2. **有效范围验证**:验证器可能会确保IP地址落在有效的地址空间内,比如排除私有IP地址(如10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)或保留的IP地址。 3. **可用性检测**:通过DNS查询或ICMP回显请求(ping...
标题中的“国标IP范围下载”指的是中国国家标准中定义的IP地址范围的获取与处理,这通常涉及到网络管理和网络安全领域。在互联网上,IP地址是每个设备接入网络时的唯一标识,而“国标”则可能指的是中国国家标准化...
在处理完IP范围后,我们进入“并将范围内的IP都显示在list control里”这一环节。CLISTCTRL是MFC(Microsoft Foundation Classes)库中的一个控件,用于创建类似Windows资源管理器的列表视图。在VC++中,我们可以...
7. **单元测试**:为了确保代码的正确性,程序可能还包括一些单元测试,验证IP地址验证功能在各种边缘情况下的表现。 8. **用户界面**:虽然没有具体提及,但通常这样的程序会有用户界面元素(如输入框和按钮),...
这通常涉及到验证一个给定的IP地址字符串是否符合IPv4或IPv6的标准格式,并且处于有效的地址范围内。下面我们将详细讨论如何实现这样的算法。 首先,我们需要了解IP地址的基本结构。IPv4地址由四个十进制数组成,每...
这个正则表达式分别匹配每个数字段,确保它们都在0到255的范围内,并且确保有三个点号分隔。 另外,如果你需要处理的IP地址可能包含子网掩码,那么可以使用`ipaddress`模块的`IPv4Network`类进行验证: ```python ...
### IP项目实践:AHB-SRAM设计与验证 #### 背景介绍 在系统级芯片(SoC)设计领域,内存子系统的设计是至关重要的一个环节。内存接口的性能直接影响到整个系统的运行效率和可靠性。其中,高级微控制器总线架构...
这样,在其他需要验证IP地址的场景中,只需调用这个函数即可。 5. **测试**:在项目中提到,所有源码均经过严格测试,这意味着我们应该有相关的测试用例来确保验证功能的正确性。可以编写单元测试,覆盖各种可能的...
如果不在这个范围内,那么这不是一个有效的IP地址部分,函数结束。 4. 如果成功执行完上述所有检查,说明IP地址格式正确,`CheckIp`变量被赋值为1,表示验证通过。 最后,函数返回`CheckIp`变量的值。在示例中,你...
该类库可能包含了各种方法,如验证IP地址的有效性、解析IP地址、判断IP是否在特定范围内等功能。 首先,类库的核心是定义一个IP地址处理类,可能命名为`IpAddress`。此类通常会包含以下方法: 1. **构造函数**:...