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工具类(用于判断IP是否在网段内,给定网段判断IP的范围)
Java IP地址网段计算的示例代码 Java IP地址网段计算是网络编程中的一个重要概念,它可以帮助开发者计算出某个IP地址的网段信息,包括网段的起始IP、结束IP和子网掩码等。在Java语言中,可以使用各种算法和技巧来...
shell 判断输入的ip是否和本机的ip同网段 包含两种实现方法
此工具类包含根据ip和掩码(cidr)计算网段 判断ip是否在网段内 判断是否是ip ip转long long类型的ip转string
本话题主要聚焦于如何利用C#来判断两个IP地址是否处于同一网段,这对于网络通信和数据传输的优化具有实际意义。 首先,我们需要理解IP地址和子网掩码的概念。IP地址是由32位二进制组成的,通常以点分十进制的形式...
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
判断两个IP是否属于同一个子网(java) 简单代码
IpRangeUtil;java 校验Ip段(子网掩码); 支持 iptables.patterns=10.0.0.0/8,192.168.0.0/16,172.16.0.0/12,202.195.129.240/28,202.195.128.0/20
全国32个省份的IP网段。从网上下载的,经过手工整理成EXCEL文件,内容包括省份名称、起点IP、终点IP。
输入IP地址及掩码(如24),计算出地址范围 1、计算出掩码指定的IP地址个数 2、分割IP地址 3、将10.0.0.0形式的ip地址转换成10进制整数 4、将10进制整数形式转换成127.0.0.1形式的IP地址
### 跨网段获取远程主机MAC地址:方法与Java实现 #### 引言与背景 在计算机网络领域,MAC地址(Media Access Control Address)作为网卡的唯一标识,扮演着关键角色,尤其是在网络通信和安全监控中。然而,传统的...
TIA下如何访问不同IP网段中的PLC.pdf
不同IP网段的PLC进行S7通信的具体步骤
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
6. **编写Java代码**: 在Java中,可以使用`java.net.InetAddress`类来处理IPv4地址。程序可能需要创建一个方法,输入原始网络地址和子网数,然后返回一系列子网的网络地址列表。此外,可能还需要处理错误,如无效的...
1. **代码结构解析**:该Java类`Ip`实现了`Runnable`接口,意味着它可以被Java线程执行。通过`Ping`静态方法和`run`方法,实现了对指定IP地址的ping操作,并将结果存储在静态`Hashtable`中。 2. **多线程机制**:...
用Java写的一个小巧程序,局域网内,扫描开放指定端口的主机
压缩包中的文件"IP网段判断-1.0.0.16384"可能是一个AutoJS项目文件,包含了实现IP网段判断功能的脚本代码。16384这个数字可能是版本号的一部分,或者是与IP地址的某种特定关联,具体含义需要解压文件查看内容才能...
"java 判断两个时间段是否重叠的案例" 本文主要介绍了如何在 Java 中判断...本文介绍了如何在 Java 中判断两个时间段是否重叠的案例,并提供了一份实现代码。该方法可以帮助开发者在实际开发中解决时间段重叠的问题。
SIEMENS-西门子PLC不同IP网段的PLC怎样进行PUT_GET通信?