「java判断网段」如何判断在不在一个网段
本篇文章给大家谈谈java判断网段,以及如何判断在不在一个网段对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java判断IP是否在某个网段中
- 2、java 判断是否为内网ip
- 3、使用java判断本机IP地址是否在192.168.10.0/24这个网段
- 4、java怎么判断某ipv6地址格式的Ip是否在另外一个ipv6地址格式网段下?
java判断IP是否在某个网段中
使用正则表达式判断匹配
Pattern p=Pattern.compile(Regex);
Matcher matcher=p.matcher(TestStr);
if (matcher.find()) {
}
java 判断是否为内网ip
内网IP是以下面几个段的IP.用户可以自己设置.常用的内网IP地址:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
----------------------选自百度--------------------------------------------------
由于以上ip段、我们只需要做判断ip是否属于以上3个网段就行了
public boolean isInner(String ip)
{
String reg = "(10|172|192)\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]{0,1})";//正则表达式=。 =、懒得做文字处理了、
Pattern p = Pattern.compile(reg);
Matcher matcher = p.matcher(ip);
return matcher.find();
}
使用java判断本机IP地址是否在192.168.10.0/24这个网段
你的是web程序的话,request.getRemoteAddr()方法是可以获得ip的。然后你写个正则表达式判断一下就行了
如果你是本机的话用以下的方法
public class Test {
public static void main(String[] args) {
InetAddress addr;
try {
addr = InetAddress.getLocalHost();
String ip=addr.getHostAddress().toString();
System.out.println(ip);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java怎么判断某ipv6地址格式的Ip是否在另外一个ipv6地址格式网段下?
查看前缀是否一致,如果一致或相同就是同一个子网。
例如 2001::1:1/64 2001::2:1/64 两个就是同一子网的,前缀2001::/64是相同的。
java判断网段的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何判断在不在一个网段、java判断网段的信息别忘了在本站进行查找喔。