6

私たちはMACアドレスを使用して、ソフトウェアを実行するためのライセンスが付与されたPCを識別しています。(MACスプーフィングは気にしないでください。ライセンスを取得するのは難しいです:) PCには複数のイーサネットコントローラーが搭載されている場合があります(イーサネットコントローラーがない場合も心配ありません。このようなマシンに5年間会っていません。 )、したがって、安定したものを確実に選択することには問題があります。

私たちはこれを釘付けにしたと思ったが、明らかにそうではなかった。Microsoft SDK iphlpapiモジュールのGetAdaptersInfoを使用して、リストを下に移動します。おそらくマザーボードのイーサネットコントローラであるため、最後のアダプタを使用します。残念ながら、ドッキングされているかどうかに応じて、どのコントローラーが最後になるかを変更するように見えるThinkpadに遭遇しました。

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

4

5 に答える 5

3

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

于 2009-08-29T12:12:55.183 に答える
2

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

しかし、これとは別の方法でアプローチした場合はどうでしょうか。インストール時にリストからインターフェイスをユーザーに選択させることができますが、これはおそらくあまりユーザーフレンドリーではありません。または、システム内のすべてのMACアドレスを記録し、1つがまだアクティブである限り認証します。

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

于 2009-08-29T12:47:11.953 に答える
2

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

以前に MAC ロックされたソフトウェアを使用する「喜び」がありましたが、私が言えることは、それを行わないことだけです。

于 2009-08-29T12:09:46.450 に答える
1

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

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

于 2014-09-09T06:25:39.377 に答える
1

解決策はありませんが、別の問題がある可能性があります。

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

于 2009-08-29T12:14:41.970 に答える