public class Test {
public static final long a1 = getIpNum("10.0.0.0");
public static final long a2 = getIpNum("10.255.255.255");
public static final long b1 = getIpNum("172.16.0.0");
public static final long b2 = getIpNum("172.31.255.255");
public static final long c1 = getIpNum("192.168.0.0");
public static final long c2 = getIpNum("192.168.255.255");
public static final long d1 = getIpNum("10.44.0.0");
public static final long d2 = getIpNum("10.69.0.255");
public static boolean isInnerIP(String ip){
long n = getIpNum(ip);
return (n >= a1 && n <= a2) || (n >= b1 && n <= b2) || (n >= c1 && n <= c2) || (n >= d1 && n <= d2);
}
private static long getIpNum(String ipAddress) {
String [] ip = ipAddress.split("\\.");
long a = Integer.parseInt(ip[0]);
long b = Integer.parseInt(ip[1]);
long c = Integer.parseInt(ip[2]);
long d = Integer.parseInt(ip[3]);
return a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
}
public static void main(String[] args) throws Exception {
Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
while (e.hasMoreElements()) {
Enumeration<InetAddress> ee = e.nextElement().getInetAddresses();
while (ee.hasMoreElements()) {
String ip = ee.nextElement().getHostAddress();
System.out.println(ip + " "+ ("127.0.0.1".equals(ip) ? "本机" : (isInnerIP(ip) ? "内网" : "外网")));
}
}
}
}
分享到:
相关推荐
通过url链接到一个网址,该网址返回自己的ip地址(通过代理服务器访问)
在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...
这个类提供了解析、比较和获取IP地址相关信息的方法。在我们的程序中,我们需要用到这些方法来读取、设置和验证输入的IP地址。 4. **IO流**: `java.io`包中的IO流用于读写数据。在这个应用中,IO流可能被用来保存...
在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端 IP 地址 获取客户端的IP地址通常在...
在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux服务器上的网络接口、回环接口、获取IP地址的方法等。 Linux服务器上的网络接口 在Linux服务器上,网络接口是用来发送和接受数据包的基本设备...
在Java编程中,根据IP地址获取国家和地区名称是一项常见的需求,尤其在数据分析、网络监控或者用户定位等场景中。这个话题涉及到的主要知识点包括IP地址处理、数据库查询以及使用第三方库。 首先,IP地址是一个32位...
### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....
### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。
下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...
总的来说,通过Java获取IP所在地区涉及到网络编程、二进制文件解析以及数据库操作等多个技术点。正确理解和实现这一过程,可以帮助我们在各种应用场景下,如网站访问统计、网络安全分析等,更好地处理与IP地址相关的...
在Java编程中,获取本机IP地址是一项常见的任务,特别是在网络通信和服务器开发中。本文将详细介绍如何在Java中获取本机IP,并针对不同操作系统可能出现的问题进行解析。 首先,最简单的方法是使用`InetAddress`类...
在Java编程中,根据IP地址反查对应的省市县地址是一项常见的需求,这通常...6. 对象及方法调用实现IP地址查询 以上就是Java根据IP反查省市县地址的基本实现过程,通过结合相关库和服务,可以高效地完成这样的任务。
标题中的"获取本地IP地址的小程序",通常是指获取本机连接到网络时的IP地址。这可能包括局域网IP和公网IP。在Java中,我们可以通过以下几种方式获取: 1. 使用`InetAddress`类:这个类提供了获取IP地址和主机名的...
本篇文章将详细解释如何在Java环境下,通过Servlet和Reactive编程模型来获取HTTP请求中的IP地址。 首先,让我们从Servlet API开始。Servlet是Java用于构建动态Web应用程序的标准接口。在Servlet中,我们通常使用`...
在提供的压缩包文件"Java 实例 - 获取本机ip地址及主机名源代码+详细指导教程.rar"中,你应该能找到上述代码的实现以及详细的步骤说明,这对于初学者来说是一个很好的学习资源。通过实践和理解这些代码,你可以更好...
非常清楚的介绍了如何使用Java获取本机IP地址,有源码
在Java编程中,获取本机和服务器的IP地址是一项常见的任务,这有助于建立网络连接、进行定位服务或者进行网络通信。下面将详细解释如何通过Java实现这个功能。 首先,我们需要了解IP地址的基本概念。IP地址...
IP地址的合法性及子网判断 IP 地址是计算机网络中最基本的通信基础,它是每个连接到互联网上的主机的唯一标识。IP 地址的合法性判断是计算机网络中非常重要的一步,为了确保网络的安全和稳定,需要对 IP 地址进行...
在IT领域,网络通信是不可或缺的一部分,而获取本机的IP地址和主机名则是网络通信的基础。本篇文章将深入探讨如何在不同的操作系统和编程语言环境下实现这一功能。 首先,主机名是一个标识符,用于在网络中唯一标识...
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。