2011-08-08 6 views
3

LAN上の現在アクティブなすべてのマシンのIPを知るにはどうすればよいですか?どのサブネットでも動作する一般的なプログラムを作成するにはどうすればよいですか?ネットワーク上のアクティブなすべてのマシンのIPを調べる

私は現在、これをやっている:isReachableは()私のサブネット上のすべてのmachinsに達した場合

  1. をしようとしています。
  2. そうした場合は、IPアドレスを保存します。

手動でサブネットマスクを入力して(IPアドレスを増やして)、すべてのマシンに到達してIPアドレスを取得する方法はありますか?

+0

の可能重複[Javaを使用してLANに接続されているIPアドレスのリストを取得する方法](http://stackoverflow.com/questions/3345857/how-to-get-list-of-ip-connected-in -lan-using-java) –

答えて

2

サブネット内のすべてのホストにICMPエコーメッセージを送信する必要があります。たとえば、サブネットが192.168.1.0/24の場合、ICMP pingを192.168.1.255に送信すると、すべてのホストが応答します。

[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 :~]$ 
0

各コンピュータのDNS、DynamicDNS、WINS、LDAP、またはActive Directoryを使用して、IPアドレスを中央リポジトリに格納できます。このリポジトリに問い合わせると、ローカルネットワークのすべてのIPアドレスを見つけることができます。

ただし、このようなリポジトリがない場合は、ハッカーのようにネットワークのIPアドレスをスキャンする必要があります。

関連する問題