Java 查找网络上所有活动计算机的IP

Java 查找网络上所有活动计算机的IP,java,ip,Java,Ip,如何查找局域网上所有当前活动机器的IP?如何编写在任何子网上都能运行的通用程序 我目前正在这样做: 正在尝试isReachable()是否到达我子网上的所有计算机 如果有,则存储其IP地址 是否还有其他方法可以手动输入子网掩码(增加IP地址),从而到达所有计算机(从而获得其IP)?您可以使用DNS、DynamicDNS、WINS、LDAP或Active Directory将每台计算机的IP地址存储在中央存储库中。您可以查询此存储库以查找本地网络的所有IP地址 然而,如果你没有这样的存储库,你需要

如何查找局域网上所有当前活动机器的IP?如何编写在任何子网上都能运行的通用程序

我目前正在这样做:

  • 正在尝试isReachable()是否到达我子网上的所有计算机
  • 如果有,则存储其IP地址

  • 是否还有其他方法可以手动输入子网掩码(增加IP地址),从而到达所有计算机(从而获得其IP)?

    您可以使用DNS、DynamicDNS、WINS、LDAP或Active Directory将每台计算机的IP地址存储在中央存储库中。您可以查询此存储库以查找本地网络的所有IP地址


    然而,如果你没有这样的存储库,你需要像任何黑客一样扫描你的网络IP地址

    您应该向子网中的所有主机发送ICMP回显消息。例如,如果子网为192.168.1.0/24,则向192.168.1.255发送ICMP ping,所有主机都会响应

    [06:43:11 :~]$ ping 192.168.0.255
    PING 192.168.0.255 (192.168.0.255): 56 data bytes
    64 bytes from 192.168.0.12: icmp_seq=0 ttl=64 time=0.159 ms
    64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=5.581 ms
    64 bytes from 192.168.0.12: icmp_seq=1 ttl=64 time=0.135 ms
    64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=5.540 ms
    ^C
    --- 192.168.0.255 ping statistics ---
    2 packets transmitted, 2 packets received, +2 duplicates, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.135/2.854/5.581/2.707 ms
    [06:43:21 :~]$ 
    
    可能重复的