[java] view plaincopyprint?
01./**
02. * 判断ip是否在指定网段中
03. * @author dh
04. * @param iparea
05. * @param ip
06. * @return boolean
07. */
08. public static boolean ipIsInNet(String iparea, String ip) {
09. if (iparea == null)
10. throw new NullPointerException("IP段不能为空!");
11. if (ip == null)
12. throw new NullPointerException("IP不能为空!");
13. iparea = iparea.trim();
14. ip = ip.trim();
15. 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)";
16. final String REGX_IPB = REGX_IP + "//-" + REGX_IP;
17. if (!iparea.matches(REGX_IPB) || !ip.matches(REGX_IP))
18. return false;
19. int idx = iparea.indexOf('-');
20. String[] sips = iparea.substring(0, idx).split("//.");
21. String[] sipe = iparea.substring(idx + 1).split("//.");
22. String[] sipt = ip.split("//.");
23. long ips = 0L, ipe = 0L, ipt = 0L;
24. for (int i = 0; i < 4; ++i) {
25. ips = ips << 8 | Integer.parseInt(sips[i]);
26. ipe = ipe << 8 | Integer.parseInt(sipe[i]);
27. ipt = ipt << 8 | Integer.parseInt(sipt[i]);
28. }
29. if (ips > ipe) {
30. long t = ips;
31. ips = ipe;
32. ipe = t;
33. }
34. return ips <= ipt && ipt <= ipe;
35. }
分享到:
相关推荐
ip工具类(用于判断IP是否在网段内,给定网段判断IP的范围)
Java IP地址网段计算是网络编程中的一个重要概念,它可以帮助开发者计算出某个IP地址的网段信息,包括网段的起始IP、结束IP和子网掩码等。在Java语言中,可以使用各种算法和技巧来实现IP地址网段计算。下面是一个...
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
以下是一个简单的C#函数示例,用于判断两个IP地址是否在同一网段: ```csharp using System.Net; public bool IsSameSubnet(IPAddress ip1, IPAddress ip2, IPAddress subnetMask) { byte[] ip1Bytes = ip1....
shell 判断输入的ip是否和本机的ip同网段 包含两种实现方法
标题中的"IP网段判断-1.0.0.16384.zip"暗示了这个压缩包可能包含一个或多个程序或脚本,其主要功能是处理与IP地址相关的网络段判断问题。IP地址是互联网上的每个设备独一无二的标识,通常以点分十进制的形式表示,如...
判断两个IP是否属于同一个子网(java) 简单代码
判断两个IP地址是否在同一网段的过程通常包括以下步骤: 1. 将IP地址转换为二进制形式。 2. 对比每个IP地址与子网掩码进行与操作,得到网络部分。 3. 比较两个网络部分是否一致。如果一致,那么这两个IP地址就在同一...
网络安全技术- IP地址和子网划分-06 判断IP地址所属的网段.mp3
在多个工业现场设备进行组网通讯时,常会遇到两个问题,一是多个设备出厂时IP地址设置默认相同,二是设备的IP地址不在同一个网段。这两个问题都会影响设备之间的通讯。为解决这个问题,需要将这些设备的IP地址转换成...
此工具类包含根据ip和掩码(cidr)计算网段 判断ip是否在网段内 判断是否是ip ip转long long类型的ip转string
下面我们将详细讨论这些IP网段以及它们在网络中的应用。 首先,192.168.0.0/16网段是最常见的私有IP地址之一。它包含了从192.168.0.0到192.168.255.255的256个子网和每个子网65,534个可用的主机地址。这个网段广泛...
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
在本文档中,我们可以看到IP地址的分配命令,如`Switch(config-if)#ip add 192.168.10.254 255.255.255.0`等,这些命令将为vlan 10分配IP地址192.168.10.254/24。 三、DHCP服务器的配置 DHCP(Dynamic Host ...
TIA下如何访问不同IP网段中的PLC.pdf
在C#中实现网段扫描涉及到网络编程的基本概念和技术,主要是通过使用.NET框架中的System.Net命名空间提供的类。本文将详细介绍如何利用C#进行网络扫描,包括获取本地主机IP地址、远程查询以及实现网段扫描。 1. ...
本文主要介绍了如何在 Java 中判断两个时间段是否重叠的案例。时间段是指具有起始时间和终止时间的时间范围,在实际开发中,我们经常需要判断两个时间段是否存在重叠的情况。下面,我们将通过代码实现来详细介绍如何...
在Red Hat Linux系统中,配置DHCP服务器来为多个不同网段的客户端分配IP地址时,需要解决跨网段通信的问题。由于DHCP的通信基于广播,它不能直接跨越路由器。为了解决这个问题,可以设置一个DHCP中继代理(dhcprelay...
标题中的“局域网IP扫描-跨网段IP扫描程序”指的是一个专门用于在局域网内部进行IP地址探测和扫描的工具,它能够跨越不同的网络子网进行操作。这样的程序通常由网络管理员或者IT技术人员使用,以了解网络中设备的...