これを含む多くのフォーラムにこれに関する複数の投稿があり、それらのいくつかはサードパーティのアプリの使用を含み、いくつかはLinuxでのarp-scanまたはarppingツールの使用を含みます。
このようなアプリケーションの作り方を考えているので、サードパーティのアプリケーションは使えません。
私の質問は、ローカルネットワーク内のすべてのアクティブなデバイスのIPアドレスを取得する方法です。IPアドレスはルーターDHCPによって割り当てられます。ルーターにログインして、貸与したIPアドレスを取得したくありません。
コマンドでforループを使用してpingコマンドですべてのデバイスをスキャンすると、かなり時間がかかります。
興味深いのは、arp -a
は、私のマシンが通信したすべてのデバイスにIPアドレスのみを提供します。また、arp -dを使用してarpテーブルをクリアしても、役に立ちませんでした。
だが net view /all
は、ネットワーク内のマシンの名前をすべて教えてくれました。名前で言うと、コンピュータ名です。
それで、WindowsプラットフォームにIPアドレスを取得するためにnetviewと一緒に実行できるコマンドはありますか?PowerShellでsmethingする可能性がありますか?私はどんな種類のサードパーティのアプリも使いたくありません、それは私がこれの背後にある論理を理解するのに役立ちません。
私の知識によると、windows 7ブロードキャストを許可すると、ARPリスト内のすべてのIP-to-MACが取得されます。
これを試して:
1.ping ブロードキャストIPアドレス。
2.run arp -a
ブロードキャストIPはIPアドレスに依存します。IPがx.x.x.x/24の場合、ブロードキャストIPアドレスはx.x.x.255です。
これで、ローカルネットワークのすべてのIPを確認できます。