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) ? "内网" : "外网")));
}
}
}
}
分享到:
相关推荐
总的来说,Java获取本机IP地址和MAC地址涉及了对网络编程底层原理的理解,包括网络接口、IP地址类型以及MAC地址的概念。通过调用Java的网络API,我们可以实现跨平台的网络信息查询,但需要特别注意不同操作系统可能...
5. **IP地址的其他操作**:如计算IP地址的子网掩码、获取IP地址的主机名、判断两个IP地址是否在同一子网等。 对于这个工具类的实现,`IpUtils.java`文件就是关键。打开这个文件,我们可以看到类定义、方法声明和...
总结来说,Java获取公网IP地址主要依赖于网络请求和第三方服务的配合。`ExternalIpAddressFetcher.java` 类提供了一个简单的方法来实现这个功能,通过向Amazon AWS提供的公共IP检查服务发起HTTP请求,并解析返回的IP...
在Java编程中,获取服务器的IP地址和MAC地址是常见的需求,特别是在网络通信和系统管理中。本篇文章将详细介绍如何使用Java实现这一功能,包括针对单网卡和多网卡环境的情况。 首先,获取服务器的IP地址通常涉及到`...
Java获取本机MAC地址IP地址主机名
通过url链接到一个网址,该网址返回自己的ip地址(通过代理服务器访问)
这个类提供了解析、比较和获取IP地址相关信息的方法。在我们的程序中,我们需要用到这些方法来读取、设置和验证输入的IP地址。 4. **IO流**: `java.io`包中的IO流用于读写数据。在这个应用中,IO流可能被用来保存...
在Java编程中,判断一个IP地址是内网IP(私有IP)还是公网IP(全局IP)是一项常见的任务,尤其在网络编程和服务器配置中。内网IP通常用于局域网内部通信,而公网IP则是互联网上的唯一标识。下面将详细探讨如何实现这...
本文将深入探讨如何在不同的操作系统上获取本机的IP和MAC地址,以及如何判断一个IP地址是否为内网IP,并将字符串形式的IP地址转换为数值表示。我们将主要关注以下几个知识点: 1. **跨平台获取本机IP地址**: 跨...
### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....
### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。
下面将详细介绍如何使用Java获取计算机名和IP地址。 首先,我们来看如何获取计算机名。计算机名通常指的是主机在网络中的标识符,可以通过`java.lang`包中的`InetAddress`类来获取。以下是一个简单的示例: ```...
java获取当前主机的外网ip,简单方便。
总的来说,通过Java获取IP所在地区涉及到网络编程、二进制文件解析以及数据库操作等多个技术点。正确理解和实现这一过程,可以帮助我们在各种应用场景下,如网站访问统计、网络安全分析等,更好地处理与IP地址相关的...
### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...
在Java编程环境中,获取本机的IP地址和MAC地址是一项常见的需求,特别是在网络通信和设备识别的场景下。本文将详细讲解如何通过Java代码来获取本机正在使用的IP地址(包括IPv4和IPv6)以及MAC地址,并排除虚拟机的IP...
### JAVA获取别人IP地址的方法与实现 #### 一、引言 在开发网络应用程序时,经常需要获取客户端的IP地址。这不仅可以用于日志记录、统计分析,还可以用于某些安全控制措施,例如限制某些IP访问服务等。本文将详细...
在提供的压缩包文件"Java 实例 - 获取本机ip地址及主机名源代码+详细指导教程.rar"中,你应该能找到上述代码的实现以及详细的步骤说明,这对于初学者来说是一个很好的学习资源。通过实践和理解这些代码,你可以更好...
非常清楚的介绍了如何使用Java获取本机IP地址,有源码
在Java编程中,获取本机和服务器的IP地址是一项常见的任务,这有助于建立网络连接、进行定位服务或者进行网络通信。下面将详细解释如何通过Java实现这个功能。 首先,我们需要了解IP地址的基本概念。IP地址...