ネットワーク内のマシンのMAC アドレスを検出するにはどうすればよいですか?
BIOS のみがインストールされている (オペレーティング システムが存在しない)だけで使用できるマシンを検出する必要があります。そして、稼働中のマシンの MAC アドレスを見つける必要があります。
マシンに物理的にアクセスすることはできません。これはベアメタル発見用です!
ネットワーク内のマシンのMAC アドレスを検出するにはどうすればよいですか?
BIOS のみがインストールされている (オペレーティング システムが存在しない)だけで使用できるマシンを検出する必要があります。そして、稼働中のマシンの MAC アドレスを見つける必要があります。
マシンに物理的にアクセスすることはできません。これはベアメタル発見用です!
WinPcapを使用して、同じコリジョン ドメイン内のネットワーク上のイーサネット トラフィックを監視できます。したがって、スイッチと同じようにすべての MAC アドレスを学習できます。一部のトラフィックを作成するために、一部のDHCPメッセージを偽造することもできます。ただし、これはPXE (実際にはこのシナリオ用に作成されたもの) と独自のコリジョン ドメインでのみ機能します。
マシンにはおそらく IP アドレスがないため、積極的にクエリを実行する機会はないと思います。ブロードキャスト MAC に送信されたパケットに応答する必要があり、たとえば ICMP エコー要求の場合、送信元 IP として 0.0.0.0 などのパケットを送信する必要があります。これは一般的であり、BOOTP/DHCP で許可されていますが、BIOS によって実装されたものはまだ見たことがありません。
たぶん、次のようなツールを使用してネットワークを通過するすべての MAC をログに記録するだけでよいarpwatch
でしょうか? マシンで PXE ブートが有効になっている場合、永遠に沈黙する前に、少なくともいくつかの DHCP DISCOVER が表示されるはずです。
arp コマンドを試してください。IPアドレスを持つPCでしか機能しない可能性があるため(OSを搭載している可能性が高い)、本当に役立つかどうかはわかりません。
コンピューターがスイッチに接続されている場合、そこからこの情報を取得できると思います。どのPCがスイッチのどのポートに接続されているかを知っていれば、多くの「最新の」スイッチはその情報を提供できます。
上記で提案されたものほど「良い」ソリューションではありません(ネットワーク経由での作業は快適です):
マシンに物理的にアクセスできる場合: モニターを接続し、BIOS で MAC アドレスを検索します。何らかの理由で MAC アドレスが BIOS にリストされていない場合は、PXEを有効にすることができます。再起動後、PXE の初期化中に MAC アドレスが表示されます。