`
guoyong123
  • 浏览: 56467 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论
  • jateide: 还有个TRACE级别。另外还有两个特殊级别:ALL 和 OFF ...
    Log4j级别

Java判断IP是否在指定范围

    博客分类:
  • J2EE
阅读更多
2009-07-22 11:12
  1. public class ipTest {  
  2.     /**
  3.       * 判断IP是否在指定范围;
  4.       */  
  5.     boolean i;  
  6.     public static boolean ipIsValid(String ipSection, String ip) {  
  7.         if (ipSection == null)  
  8.             throw new NullPointerException("IP段不能为空!");  
  9.         if (ip == null)  
  10.             throw new NullPointerException("IP不能为空!");  
  11.          ipSection = ipSection.trim();  
  12.          ip = ip.trim();  
  13.         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)";  
  14.         final String REGX_IPB = REGX_IP + "\\-" + REGX_IP;  
  15.         if (!ipSection.matches(REGX_IPB) || !ip.matches(REGX_IP))  
  16.             return false;  
  17.         int idx = ipSection.indexOf('-');  
  18.          String[] sips = ipSection.substring(0, idx).split("\\.");  
  19.          String[] sipe = ipSection.substring(idx + 1).split("\\.");  
  20.          String[] sipt = ip.split("\\.");  
  21.         long ips = 0L, ipe = 0L, ipt = 0L;  
  22.         for (int i = 0; i < 4; ++i) {  
  23.              ips = ips << 8 | Integer.parseInt(sips[i]);  
  24.              ipe = ipe << 8 | Integer.parseInt(sipe[i]);  
  25.              ipt = ipt << 8 | Integer.parseInt(sipt[i]);  
  26.          }  
  27.         if (ips > ipe) {  
  28.             long t = ips;  
  29.              ips = ipe;  
  30.              ipe = t;  
  31.          }  
  32.         return ips <= ipt && ipt <= ipe;  
  33.      }  
  34.     public static void main(String[] args) {  
  35.         if (ipIsValid("192.168.1.1-192.168.1.10", "192.168.3.54")) {  
  36.              System.out.println("ip属于该网段");  
  37.          } else  
  38.              System.out.println("ip不属于该网段");  
  39.      }  
  40. }
分享到:
评论

相关推荐

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

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

    根据来访IP判断是否在指定国家(IP段)范围内

    1.根据来访IP判断是否在指定国家(IP段)范围内 2.简易js获取浏览器语言,来跳转到不同语种的页面

    Java代码测试IP是否为真实IP

    然后可以调用`getHostAddress()`来获取IP地址,`isReachable()`来判断该IP是否可达。 2. **检查IP格式**:在验证IP之前,我们需要确保输入的字符串是一个合法的IP地址。这可以通过正则表达式实现,例如`^((25[0-5]|...

    java根据ip反查省市县地址

    在Java编程中,根据IP地址反查对应的省市县地址是一项常见的需求,这通常涉及到网络编程和地理信息系统(GIS)的应用。下面将详细讲解如何利用Java实现这一功能。 首先,我们需要理解IP地址的基本概念。IP地址是由...

    java常用ip匹配

    然后我们通过比较`getHostAddress()`方法返回的IP地址与原始输入是否一致来判断IP地址的有效性。 ### 总结 在Java中进行IP地址匹配与验证,既可以通过编写复杂的正则表达式实现精确的模式匹配,也可以利用内置的`...

    java正则表达式验证IP地址

    此外,还有其他的方式来验证IP地址,例如使用InetAddress类的isReachable方法来判断IP地址是否可以连接。但是,使用正则表达式来验证IP地址是最简单和最灵活的方式。 Java正则表达式验证IP地址是我们在开发中非常...

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

    - 使用位操作(AND 运算)判断 IP 地址是否属于指定子网。 #### 四、代码实现 下面是基于以上分析的代码实现示例: ```java public class IpTest { public static void main(String[] args) { // 参数检查 if...

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

    3. **比较子网与IP地址**:对子网和IP地址分别应用子网掩码,然后比较结果是否一致来判断IP地址是否属于指定的子网。 #### 四、示例代码片段分析 下面是一些关键代码片段的分析: ```java public static boolean ...

    JAVA中检查网络是否是通的

    在Java编程中,检查网络连接是否通畅是一项常见的任务,特别是在开发网络应用或者进行网络调试时。这个任务可以通过多种方法实现,其中一种常用的方法就是利用 Telnet 协议来检查 IP 地址和端口是否可达。下面我们将...

    ip黑白名单拦截器java示例

    综上所述,这个Java示例提供了实现IP黑白名单拦截功能的完整流程,从数据库设计到代码实现,覆盖了数据存储、IP地址获取、请求拦截以及业务逻辑判断等多个环节。开发者可以根据自己的具体需求调整和优化这些代码,以...

    JAVA多线程本地IP端口扫描器

    扫描器通常会尝试连接到一系列端口,根据响应(或无响应)来判断端口是否开放。这个扫描器实现了这一功能,可以扫描本地主机的开放端口,这对于系统管理员来说是一个非常实用的工具。 在实现过程中,程序可能采用了...

    java ip 地址分析

    // 检查是否在范围内 ``` 在这个压缩包文件“ip”中,很可能包含了一些示例代码,演示了上述概念的使用。通过阅读和学习这些代码,你可以更好地理解如何在Java中进行IP地址的分析和处理。记住,实践是掌握知识的...

    java 测试IP的类型

    在NetDemo_4.java文件中,可能包含了具体的实现代码,如利用上述方法进行IP地址类型的判断和处理。而Java.jpg可能是一个示例图,展示了代码运行的结果或者相关的网络概念图。 总的来说,Java提供了强大的工具来处理...

    Java 实例 - 获取指定主机的IP地址源代码+详细指导教程.zip

    此外,`InetAddress`类还提供了其他有用的方法,如`getHostName()`返回主机名,`isSiteLocalAddress()`检查是否为本地网络的地址,`isLoopbackAddress()`判断是否为回环地址(127.0.0.1或::1)等。 课程资源中包含...

    javaSE界面代码 判断一个IP地址是否合法

    5. **IP与子网掩码的比较**: 判断IP是否在子网内,首先需要将IP地址和子网掩码都转换为二进制,然后执行位与操作。如果得到的结果与子网的网络部分相同,那么IP地址就属于该子网。例如: ```java int ipInt = ...

    android验证ip地址的正则表达式

    接着,使用该`Pattern`对象创建了一个`Matcher`对象,并调用其`matches()`方法来判断IP地址是否符合指定的正则表达式模式。如果返回`true`,则表示输入的IP地址是有效的;反之,则无效。 ### 总结 通过上述分析和...

    android判断网络端口是否可达

    要检查一个端口是否可达,我们首先要创建一个Socket对象,并尝试连接到指定的IP地址和端口号。基本语法如下: ```java Socket socket = new Socket("127.0.0.1", 8080); ``` 其中,"127.0.0.1"是目标IP地址,...

    java判断ftp目录是否存在的方法

    下面我们将详细讨论如何使用Java来判断FTP目录是否存在,以及相关的知识点。 首先,我们需要创建一个`FtpClient`实例并连接到FTP服务器。在示例代码中,这通过`openServer()`方法完成,它接收FTP服务器的IP地址作为...

    IP地址段的过滤,限制ip,限制主机访问

    7. **IP子网掩码**:子网掩码用于确定IP地址中的网络部分和主机部分,对于IP段过滤,需要结合子网掩码来判断IP是否在指定的网段内。 8. **IP黑名单与白名单**:可以维护一个IP黑名单或白名单,前者包含不允许访问的...

    JAVA多线程端口扫描器

    此项目是基于Java语言实现的多线程端口扫描器,它允许用户对本地系统或指定的远程IP地址进行快速有效的端口扫描。下面我们将深入探讨这个工具涉及的主要知识点。 1. **Java基础知识**:这个项目是用Java编程语言...

Global site tag (gtag.js) - Google Analytics