当前位置: 首页 > 面试题库 >

如何使用Java获取在同一网络(子网)中连接的IP的列表

从烈
2023-03-14
问题内容

如何使用Java获取在同一网络(子网)中连接的IP的列表


问题答案:

当网络上的主机对ICMP软件包做出响应(ping)(> JDK 5)时,该方法应该起作用:

public void checkHosts(String subnet){
   int timeout=1000;
   for (int i=1;i<255;i++){
       String host=subnet + "." + i;
       if (InetAddress.getByName(host).isReachable(timeout)){
           System.out.println(host + " is reachable");
       }
   }
}

像这样调用子网(192.168.0.1-254)的方法:

checkHosts("192.168.0");

没有测试它,但应该像这样工作。显然,这仅检查ip地址的最后一个字节中的254个主机…

校验:

http://download-llnw.oracle.com/javase/6/docs/api/java/net/InetAddress.html#isReachable%28int%29 http://blog.taragana.com/index.php/archive/how做icmp在Java jdk-15和以上/

希望有帮助



 类似资料:
  • 在Android系统中, > 如何获取在同一WiFi网络中连接的设备列表? 如何从与同一WiFi网络连接的智能手机获取最近的设备? 频率检查是否能够找到最近的设备?

  • 我希望在连接到wifi网络时,在运行我的应用程序的手机上获取用户的本地IPv4地址。使用以下代码: 我可以得到一些接近IPv4地址的信息,但与命令行中的IPv4地址相比,它并不完全相同。有更好的办法吗?我知道formatIpAddress已被弃用,但在我找到获取IPv4地址的方法之前,我暂时不太担心这个问题。 编辑: 我发现手机wifi设置中的ip地址是我在使用建议的解决方案获取ip地址时得到的。

  • 我正在部署这样的mariadb集群。 现在,我正在尝试在网桥网络中查找容器的IP,以便可以尝试从主机连接到db服务器。我能找到像这样的, 但是我必须做一些肮脏的分析。所以我想知道是否有一个优雅的方法来获得这只使用docker提供的命令。例如,对于覆盖网络中的ips,我们可以使用命令来获得输出。 编辑1:我想保持部署部分尽可能一般。我不想发布端口。然后我必须为每个容器分配不同的端口。 Edit2:显

  • 我的问题类似于:java中的SSLSocketFactory 我需要设置自定义SSLSocketFactory。。。但我没有https连接(它是LDAPS),因此无法使用: ...设置SSLSocketFactory。我初始化了一个SSLContext对象,但当我建立LDAP连接时,会自动调用默认的SSLContext,因为我的自定义设置未设置: 以下第3行是否有非HTTPS等效方法: > SSL

  • 例如,当我在同一个VPC和同一个子网中部署两个AWS EC2实例时,这两个实例是否使用公共IP通过internet连接?我已经知道,参考路由表和我当前的路由表的流量会将除私有IP之间的所有流量发送到internet网关。顺便问一下,我想知道那些“除私有IP之间的所有流量”是否包括AWS公共IP。在这种情况下,AWS是否会自动将流量路由到专有网络内部??

  • 当Unix上的Python脚本出现错误时,会发送一封电子邮件。 如果IP地址192.168.100.37是测试服务器,我被要求将{测试环境}添加到电子邮件的主题行。这样我们就可以有一个版本的脚本和一种方法来判断电子邮件是否来自测试服务器上混乱的数据。 然而,当我在谷歌上搜索时,我一直在寻找以下代码: 然而,这给了我127.0.1.1的IP地址。当我使用时,我得到了这个 首先,我不知道它是从哪里12