java - java中如何获取本地ipv6地址

标签 java ipv6 inetaddress

大家好,我想获取 eth0 接口(interface)的 ipv6 地址,

例如我的 eth0 接口(interface):

eth0:链接 encap:以太网 HWaddr 11:11:11:11:11:11 inet 地址:11.11.11.11 广播:11.11.11.255 掩码:255.255.255.0 inet6 地址:1111:1111:1111:1111:1111:1111/64 范围:链接

如何在java中获取inet6地址?

我无法正确使用 InetAdress 类。它总是返回一个 ipv4 地址。

最佳答案

感谢您的建议。我通过以下代码获得了有关接口(interface)的所有信息。

此外,InetAddress 类在 Linux 中无法正常工作。 (我尝试在Linux中获取硬件地址)但是代码在Windows和Linux上可以正常工作。

import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;

public class GetInfo {

public static void main(String args[]) throws SocketException {
    Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
    for (NetworkInterface netint : Collections.list(nets))
        displayInterfaceInformation(netint);
}

static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
    out.printf("Display name: %s\n", netint.getDisplayName());
    out.printf("Name: %s\n", netint.getName());
    Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();

    for (InetAddress inetAddress : Collections.list(inetAddresses)) {
        out.printf("InetAddress: %s\n", inetAddress);
    }

    out.printf("Up? %s\n", netint.isUp());
    out.printf("Loopback? %s\n", netint.isLoopback());
    out.printf("PointToPoint? %s\n", netint.isPointToPoint());
    out.printf("Supports multicast? %s\n", netint.supportsMulticast());
    out.printf("Virtual? %s\n", netint.isVirtual());
    out.printf("Hardware address: %s\n",
                Arrays.toString(netint.getHardwareAddress()));
    out.printf("MTU: %s\n", netint.getMTU());
    out.printf("\n");
 }
 }  

问候。

关于java - java中如何获取本地ipv6地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25134753/

相关文章:

java - 从 onClick() 内部类访问程序数据

java - 如何制作 Java ArrayList 的深拷贝

python - 在 Python 中发送和接收 IPv6 链路本地多播 UDP 数据报?

java - 从请求中获取主机名

java - 依赖注入(inject)在javafx谷歌果汁中抛出空指针异常

java - 如何更新 Spark 流中的广播变量?

python - 使用 python 在 Windows XP 中创建 IPv6 套接字

c - 根据输入字符串查找匹配的 IPv6 地址

java - Java多线程UDP套接字编程

java - ISSUE : java.net.InetAddress RESULTS 与 MYSQL 结果相比是错误的