package com.test;
public class IpTest {
/**
* 判断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不属于该网段");
}
}
分享到:
相关推荐
判断两个IP是否属于同一个子网(java) 简单代码
1. **代码结构解析**:该Java类`Ip`实现了`Runnable`接口,意味着它可以被Java线程执行。通过`Ping`静态方法和`run`方法,实现了对指定IP地址的ping操作,并将结果存储在静态`Hashtable`中。 2. **多线程机制**:...
7. **IP子网掩码**:子网掩码用于确定IP地址中的网络部分和主机部分,对于IP段过滤,需要结合子网掩码来判断IP是否在指定的网段内。 8. **IP黑名单与白名单**:可以维护一个IP黑名单或白名单,前者包含不允许访问的...
"基于Java判断网络是否正常代码实例" 本篇文章主要介绍了基于Java判断网络是否正常代码实例,通过示例代码详细介绍了判断网络是否正常的方法,对大家的学习或者工作具有一定的参考学习价值。 知识点一:Java中判断...
- **添加IP检查逻辑**:在该方法内部,我们可以插入IP检查的代码,通过读取配置文件中的IP黑白名单,对比客户端的IP地址,决定是否允许建立连接。 - **创建配置接口**:为了管理IP黑白名单,我们需要在`src/main/...
本文将引导读者了解如何使用 Java 语言来检查 IPv6 地址的合法性,并提供了详细的示例代码。 首先,需要了解什么是 IPv6。IPv6(Internet Protocol version 6)是最新的 Internet 协议版本,它旨在解决当前 IPv4 ...
- `matchIP`方法判断两个IP地址是否在同一网段内。 - `printIP`方法将数组形式的IP地址转换为标准的点分十进制格式。 #### 结论 通过本课程设计,学生不仅能够掌握Java网络编程的基础知识,还能通过实际编程项目,...
目前已有的版本包括: Win32, Win16, MacOS, MacOSX, X11, GTK, GNOME,Java 等, 并且公开源代码. 系统要求 Microsoft Windows 95/98/Me/NT4.0/2000/XP/2003 95/98/NT4.0 ... 要求 comctl32.dll(公共控件) 的版本...
3. **主机或网段扫描**:能够针对单个IP地址或一个IP地址范围进行扫描,这在排查整个网络的安全状况时非常有用。 4. **自定义端口范围扫描**:允许用户指定特定端口或端口范围,以针对特定服务进行扫描。 程序设计...