ネットワーク接続デバイスをスキャンする

ネットワーク接続デバイスをスキャンする

コマンドラインからネットワーク上のコンピューターをスキャンし、コンピューターについて何も知らなくても IP、MAC、DNS 名を取得する方法はありますか?

答え1

nmap -v -sn 192.168.1.0/24 | grep -v down

ps. もちろん、必要に応じてサブネット設定を変更できます。
ps. nmap のバージョンに応じて、MAC アドレスが表示されるかどうかが変わります。 5.21+ (debian テスト版以上) では表示されます。 5.0 (現在 debian 安定版) では表示されません。

答え2

arp -aは、 をインストールしなくてもすべての情報をダンプしますnmap。ただし、nmapアクティブスキャンを実行するため、より最新の情報になります。

答え3

本当にまったく見当がつかない場合は、まずネットワークを受動的にリッスンする必要があります。ローカル ネットワークは非常に通信量が多く、ほとんどの場合、パケットがすべてのネットワーク デバイスに送信されます。パケットのレイヤーを分解することで、トポロジについて多くのことを知ることができます。ただし、ネットワークによっては、これがまったく不可能な場合もありますので注意してください。

例えば:

イーサネット フレームはイーサネット アドレスを提供します。

ARP (アドレス解決プロトコル) は、イーサネット アドレスをネットワーク アドレスに結合し、ネットワーク デバイス間の関係に関する暗黙的なヒントを提供します。

IP (インターネット プロトコル) は、IP アドレスを持つ 2 つのホスト間の関係を提供します。

TCP (伝送制御プロトコル) を使用すると、どのサービス (ポート) がアクティブで、どのコンピューターが相互に通信しているかがわかります。

UDP (ユーザー データグラム プロトコル) は TCP と同じ情報を提供します。アクティブ スキャンを実行する以上の情報を得ることができます。

特定の情報を見つけたい場合は、tcpdumpを使用するか、pcapライブラリを使用します。小さな例perl で。すべてのハードウェア アドレス、ネットワーク アドレス、TCP および UDP ポートをダンプします。

関連情報