java - 如何使用java获取网络上的所有IP地址?

标签 java network-programming

我正在使用 InetAddress 类来获取网络上的 IP 地址。

问题是有时我无法获取某些地址,有时InetAddress无法从网络获取单个IP。

可能是什么问题? 谢谢

我尝试过以下代码:

public void fatchAllNetworkIP() throws UnknownHostException, IOException
{
    System.out.println("Fetching IP...");

    InetAddress localhost = InetAddress.getLocalHost();
    byte[] ip = localhost.getAddress();

    for (int i = 1; i <= 254; i++)
    {
        ip[3] = (byte)i;
        InetAddress address = InetAddress.getByAddress(ip);

        if(address.isReachable(1000))
        {
            //JOptionPane.showMessageDialog(null, address);
            System.out.println("IP Address "+i+"is "+address);
        }
    }
}

最佳答案

尝试java.net.NetworkInterface,获取所有可用的NetworkInterfaces,然后获取所有附加的InetAddresses

关于java - 如何使用java获取网络上的所有IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23465125/

相关文章:

windows - 如何在没有浏览器的情况下下载文件并打开/保存对话框批处理?

c - IPV6 数据包的伪报头字段

java - Hibernate 左连接使用 with

java - 如何根据今天的日期从表中获取 10 天前的数据

c++ - 如何使用 IOCP 发送文件?

algorithm - 开发可靠,简单的网络备份软件

Java 的原语上的 volatile

java - 为什么java更擅长处理递归?

java - Android:由于 transformDexArchiveWithExternalLibsDexMergerForDebug 程序类型已经存在,Java 库构建失败

java - 抗DDoS网络应用设计