hostid というコマンドがついている. ホスト毎に固有の32ビット識別子を表示するらしい.
この識別子をどのように計算しているのだろうと思い, ソースを見てみた.
下記のように
gethostid の返り値を表示するだけ.
id = gethostid ();
id &= 0xffffffff;
printf ("%08x\n", id);
それで, gethostid はなんだろうとマニュアルを見ると,
「通常は gethostbyname により返されるローカルマシンの Internet アドレスが代わりに使用され...」と書いてあり,
「バグ: 識別子が世界中で一意であることを保証することはできない」とも書いてある.
結局のところ, ローカルIPアドレスを16進数で表示するだけ.
0 件のコメント:
コメントを投稿