[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,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
shell 判断输入的ip是否和本机的ip同网段 包含两种实现方法
用c#实现的判断两个ip地址是否属于同一网段,用于网络传输判断
判断两个IP是否属于同一个子网(java) 简单代码
网络安全技术- IP地址和子网划分-06 判断IP地址所属的网段.mp3
TIA下如何访问不同IP网段中的PLC.pdf
应用场景: 多个工业现场设备的IP地址出厂默认设置(IP地址一样),或者设备的IP地址不在同一个网段,需要将这些设备的IP地址转换成同一网段的独立的IP地址,便于组网通讯。
主要介绍了java IP地址网段计算的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
此工具类包含根据ip和掩码(cidr)计算网段 判断ip是否在网段内 判断是否是ip ip转long long类型的ip转string
C#实现网段扫描.docC#实现网段扫描.docC#实现网段扫描.doc
在本文档中,我们可以看到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 ...
RedHadlinuxDHCP分配多个网段IP.pdf
本文主要介绍了如何在 Java 中判断两个时间段是否重叠的案例。时间段是指具有起始时间和终止时间的时间范围,在实际开发中,我们经常需要判断两个时间段是否存在重叠的情况。下面,我们将通过代码实现来详细介绍如何...
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
自动Ping一个网段内从0~255的所有IP地址,并写入“不通.txt"文件中,方便查找一个网段内的IP使用情况。
docker centos7 配置和宿主机同网段IP.pdf