BSDのユニークなハードウェア署名?

BSDのユニークなハードウェア署名?

たとえば、FreeBSDシステムでどのような独自のハードウェア署名を取得できますか?

私は現在イーサネットMACアドレス(getifaddrs(3))を使用していますが、私たち全員が知っているように、これはifconfigで簡単に変更できます。だから別のもの? sysctlには何もありませんか?

私はこれを行うためにCを使用しています。それで、どこを見るべきかを知ることができれば、おそらくそれを得る方法を見つけることができます。

ベストアンサー1

最初のアプローチは、次を使用することです。hostid

マニュアルページには次のように記載されています。

32ビット識別子...通常、ローカルコンピュータのDARPAインターネットアドレス

つまり、デバイスの16進IPアドレスです。

これは、誰かが故障したネットワークカードを交換する必要があっても変更されないことを意味します。
これはまた、ネットワークが設定されていない場合、またはコンピュータがプライベートIPアドレスを使用している場合、一意性が保証されないことを意味します。

実際に設定されていない可能性があり、スーパーユーザーが使用またはsethostid変更することもできますsysctl

sysctl -aこの他には、出力で有用なものが見つかりませんkern.hostid
OpenBSDでは使用できますが、hw.uuidFreeBSDでは使用できません。

その後、次のように役立ついくつかのコマンドがあります。

ほとんどは電話で作業します。ioctl関連情報装備

Cでこれを行う必要がある場合は、以下を見てください。ソースコード上記のコマンドの詳細は次のとおりです。

また、見ることができますlibvolume_idまたはlibblkidルートファイルシステムのIDを取得します。ポートなので、基本システムの一部ではありませんが、そのうちの1つは標準デスクトップインストールの一部としてインストールできます。

また見なさい:Unixシリーズシステムで一意のIDを取得する

おすすめ記事