たとえば、FreeBSDシステムでどのような独自のハードウェア署名を取得できますか?
私は現在イーサネットMACアドレス(getifaddrs(3))を使用していますが、私たち全員が知っているように、これはifconfigで簡単に変更できます。だから別のもの? sysctlには何もありませんか?
私はこれを行うためにCを使用しています。それで、どこを見るべきかを知ることができれば、おそらくそれを得る方法を見つけることができます。
ベストアンサー1
最初のアプローチは、次を使用することです。hostid
。
マニュアルページには次のように記載されています。
32ビット識別子...通常、ローカルコンピュータのDARPAインターネットアドレス
つまり、デバイスの16進IPアドレスです。
これは、誰かが故障したネットワークカードを交換する必要があっても変更されないことを意味します。
これはまた、ネットワークが設定されていない場合、またはコンピュータがプライベートIPアドレスを使用している場合、一意性が保証されないことを意味します。
実際に設定されていない可能性があり、スーパーユーザーが使用またはsethostid
変更することもできますsysctl
。
sysctl -a
この他には、出力で有用なものが見つかりませんkern.hostid
。
OpenBSDでは使用できますが、hw.uuid
FreeBSDでは使用できません。
その後、次のように役立ついくつかのコマンドがあります。
Cでこれを行う必要がある場合は、以下を見てください。ソースコード上記のコマンドの詳細は次のとおりです。
また、見ることができますlibvolume_id
またはlibblkid
ルートファイルシステムのIDを取得します。ポートなので、基本システムの一部ではありませんが、そのうちの1つは標準デスクトップインストールの一部としてインストールできます。
また見なさい:Unixシリーズシステムで一意のIDを取得する。