用Java确定本地计算机的IP地址和主机名
IP地址 代表Internet 协议地址,是一个数字标签,它被唯一分配给使用 Internet 协议的计算机网络中连接的每个设备。 IP 地址有两个主要功能:
- 它标识主机,或者更具体地说是它的网络接口。
- 它提供主机在网络中的位置,从而提供建立到该主机的路径的能力。
IP 地址还指定了在路由器和终端系统之间发送和接收的数据包的格式。 IP 地址空间由互联网号码分配机构 (IANA) 和五个区域互联网注册管理机构 (RIR) 在其指定领土内负责分配给本地互联网注册管理机构,例如互联网服务提供商 (ISP) 和其他终端用户。
IP版本:
如今,在 Internet 寻址中最常见的是两种版本的 IP 地址。它们是 IPv4 和 IPv6。
- IPv4: IPv4 的大小为 32 位,即使用 IPv4 可以分配 4,294,967,296 个地址。 IPv4 地址以点十进制表示法表示,由点分隔的 4 个十进制数字组成,每个数字的范围为 0 到 255。每个部分代表一组 8 位(一个八位字节)的地址。即192.168.0.118
- IPv6:在 IPv6 中,地址大小从 IPv4 中的 32 位增加到 128 位,从而最多提供 2^128(约 3.403×10^38)个地址。即2001:db8:0:1234:0:567:8:1
主机名
主机名 是互联网上的设备的名称。即,主机名是设备在互联网上的称呼方式(就像人名一样)。主机名可以是由单个单词或短语组成的简单名称,也可以是结构化名称。即笔记本电脑-MRRIH5PC
Java.net 包提供了几个有用的类和接口来处理网络和互联网。任何本地计算机的 IP 地址和主机名都可以使用Java.net.InetAddress 类来确定。
Java.net.Inet地址
Java
// Java program to determine the IP address
// and host name of local computer
import java.io.*;
import java.net.InetAddress;
public class GFG {
public static void main(String[] args) throws Exception
{
// a variable of type InetAddress to store
// the address of the local host
InetAddress addr = InetAddress.getLocalHost();
// Returns the IP address string in
// textual presentation.
System.out.println("Local HostAddress: "
+ addr.getHostAddress());
// Gets the host name for this IP address.
System.out.println("Local host name: "
+ addr.getHostName());
}
}
输出
Local HostAddress: 127.0.0.1
Local host name: localhost