(ハードウェア機能を介して)現在のホストをプログラムで検出する最良の方法

(ハードウェア機能を介して)現在のホストをプログラムで検出する最良の方法

他の物理コンピュータから起動したいLinuxがインストールされているハードドライブがあります。私の質問は、ドライブが接続されているコンピュータをプログラムで検出することが可能かどうかです。たとえば、各ワークステーションに固有のハードウェア情報ハッシュを生成するためにcat /proc/cpuinfo呼び出してパイピングしようとしましたが、sha256sum/ procのリストが再起動するたびに常に同じ情報を保持するわけではありません。このメソッドを使用すると、私のハッシュ値は引き続き変更されます。

これを行う簡単な方法はありますか?

ベストアンサー1

Tom Huntがコメントで提案したように、ネットワークインターフェイスの1つのMACアドレスを使用してください。 MACアドレスは一意です。 (これはすべてのコンピュータに少なくとも1つのネットワークインターフェイスがあると仮定しますが、これは合理的な前提です。)

複数のインターフェイスがある場合があります。さまざまな場合の問題を回避するために、すべて同じシステムの有効な識別子で処理することをお勧めします。インターフェイスが異なる順序で検出された場合は、異なる名前が割り当てられ、一部のインターフェイスは移動可能(USBドングルなど)で無効にすることができます(USBドングルなど)。 Wi-Fi キルスイッチ)).

このコマンドを使用すると、現在利用可能なすべてのネットワークインターフェイスのMACアドレスを一覧表示できます(使用中かどうかにかかわらず)。

ip addr show | awk '$1 == "link/ether" {print $2}'

おすすめ記事