2009-08-29 7 views
6

私たちは、MACアドレスを使用して、ソフトウェアを実行するためにライセンスされたPCを識別しています。 (MACスプーフィングは気にしません;ライセンスは入手が難しいです:) PCには複数のイーサネットコントローラがあるかもしれません( の場合は心配もありません。 、5年後)、安定した を確実に選択することに問題があります。PCの安定したMACアドレスを取得する方法は?

私はこれを釘付けにしていたが、確かにそうは思わなかった。 Microsoft SDKのiphlpapiモジュールのGetAdaptersInfo を使用して、リストを歩きます。 おそらくマザーボード イーサネットコントローラである最後のアダプタを使用します。悲しいかな、私たちは、ドッキングされているかどうかによって最後にコントローラを変更するために と表示されるThinkpadを実行しました。

システム上のマザーボード イーサネットコントローラのMACアドレスを確実に見つける方法はありますか? 2台以上のマザーボード の場合、安定したマザーボードを1つ選択してください。 [セットがマザーボードベースであることが分かっていれば、私は簡単に 最低アドレスMAC]を選ぶことができます。

答えて

2

いいえ - これを行うには信頼できる方法はありません。 USBドングルは安価で簡単です - それらを使用してください。

以前はMACでロックされたソフトウェアを使用しているという「楽しみ」がありました。

+0

同意します。私たちがこのソフトウェア(いくつかの仮想環境に加えて)を評価したならば、私たちは無邪気なMACライセンスシステムのためにこれを拒否します... – gbn

+1

私は自分自身の喜びを持っていました。私の場合、ソフトウェアはVPNソフトウェアによって作成された「仮想」MACアドレスを選択しました。 VPNソフトウェアをアンインストールしたときに何が起こったのでしょうか? –

+0

ドングルは100ドルの製品には実用的ではありません(その中には様々なものがあります)。彼らは$ 1000.00の製品で働いています(そのうちのいくつかがあります)。 –

3

これは厄介な問題です。仮想化はどのように扱いますか?私のマシンには、いくつかのイーサネットアダプタがありますが、そのうちの1つだけが実際にはハードウェアベースです。私の仮想マシンにはソフトウェアで生成されたMACアドレスがあります。そして、私が本当にしたいのであれば、同じMACアドレスを持つ異なるコンピュータ上に複数のVMをセットアップすることができます(もちろん同じネットワーク上にはありません)。

+0

合意は、賢明なライセンス方法ではありません。 OPは、別のシステムを実装する必要があります。 –

+0

あなたは何を示唆しますか、それは機械固有のものですか? –

1

私は解決策を持っていないが、別の問題がある可能性があります:

は、仮想ネットワークカードを作成し、ランダムにこのカードにVPN接続が確立されるたびに新しいMACアドレスを割り当てVPNソフトウェアが存在します。

+0

私が欲しいのは、マザーボード上のイーサネットコントローラのMACアドレスです。おそらく、VPNやその他のものではありません。 –

2

どのインターフェイスが「安定している」かを判断する信頼できる方法はないと思います。確かに、ハードウェアの詳細を掘り下げることなく。

しかし、これに違反した場合はどうなりますか?ユーザーは、インストール時のリストからインターフェースを選択させることができますが、これはあまりユーザーフレンドリーではありません。または、システムにすべてのMACアドレスを記録し、まだアクティブである限り認証してください。

また、GetAdaptersInfoが返す順序は、ネットワーク接続の[詳細設定]メニューからユーザーが変更できます。

+0

あなたの周りをシャッフルすることについてのビットは私を幸せにしていません。しかしおそらく大きな問題ではないでしょう。ほとんど誰もそれをしません。 –

1

私も同じ問題に直面し、別のアプローチhereを見つけました。

Windowsは、物理ネットワークカードの説明をHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥NetworkCardsのレジストリに保存します。同じ記述は、IP_ADAPTER_INFO構造体の「Description」メンバにも記載されています。だから私はMACアドレスが物理的なネットワークカードに属しているかどうかを判断するために、この値がレジストリに表示されているかどうかを確認することができると思います。

関連する問題