Windows にはネットワーク ロケーション認識 (NLA) の概念があり、ネットワークを「パブリック」(自宅/職場など)、「プライベート」などとして構成できます。
この目的のためにネットワークの「指紋」を取得するためにどのような情報を使用するのでしょうか?
答え1
答え2
ソース:http://msdn.microsoft.com/en-us/library/ms740558%28VS.85%29.aspx
ネットワークロケーション認識 (NLA)サービス プロバイダーは、異なるネットワーク間を移動する可能性のあるコンピューターやデバイスにとって、また複数のネットワークが利用可能な場合に最適な構成を選択するために不可欠です。たとえば、物理ネットワーク間を移動するワイヤレス コンピューターは、NLA を使用して、利用可能なネットワーク接続に関する情報に基づいて適切な構成を決定できます。NLA は、マルチホーム コンピューターが 1 つのネットワークに物理的に接続され、ダイヤルアップ接続またはトンネルを介して別のネットワークにも接続されている場合にも役立ちます。
これまで、開発者は論理ネットワーク インターフェイスに関する情報を取得し、さまざまなネットワーク情報に基づいてネットワーク接続に関する決定を下す必要がありました。そのような状況では、開発者は IP アドレス、インターフェイスのサブネット、インターフェイスに関連付けられたドメイン ネーム システム (DNS) 名、NIC の MAC アドレス、ワイヤレス ネットワーク名、またはその他のネットワーク情報に基づいて適切なネットワーク インターフェイスを選択する必要がありました。NLA は、論理ネットワーク接続情報を列挙し、それを物理ネットワーク インターフェイス情報と関連付け、以前に返された情報が無効になったときに通知するための標準インターフェイスを提供することで、この問題を軽減します。
NLA は次のネットワークの位置情報を提供します。
論理ネットワーク ID
NLA はまず、DNS ドメイン名で論理ネットワークを識別しようとします。論理ネットワークにドメイン名がない場合、NLA はレジストリに保存されているカスタムの静的情報からネットワークを識別し、最後にサブネット アドレスから識別します。
論理ネットワークインターフェース
NLA は、コンピュータが接続されているネットワークごとに、NIC などの物理インターフェイス、または RAS 接続などの論理インターフェイスを一意に識別する AdapterName を提供します。その後、AdapterName を IP Helper API で使用可能な関数と共に使用して、インターフェイスのさらなる特性を取得できます。
NLA は、関連付けられたクラス GUID とプロパティを持つサービス クラスとして論理ネットワークを実装します。NLA が情報を返す各論理ネットワークは、そのサービス クラスのインスタンスです。
答え3
最近の実験 (Server 2012 を使用しましたが、以前のバージョンでも同様だったと思われます) に基づくと、非ドメインの静的に構成されたネットワークでは、NLA サービスはデフォルト ゲートウェイのリンク層 (MAC) アドレスを使用してネットワークを識別します。
詳細は不明ですが、ネットワーク アナライザーで解明できると思います。設定されたデフォルト ゲートウェイが応答しない場合は、NLA はネットワークを認識していないため、間違いなく何らかのクエリを実行しています。(つまり、ダミーのゲートウェイ アドレス、またはダミーのゲートウェイ アドレスと静的 ARP エントリを単に入力することはできません。NLA がアダプタがそのネットワークに接続されていると判断するには、特定のネットワークに関連付けられたゲートウェイ MAC アドレスが実際に応答する必要があります。)
参照私のブログ記事Windows 2012 を騙してアダプタを固有のネットワークに割り当てる方法について。
アダプタに DHCP によってアドレスが割り当てられている場合は、ロジックが異なる可能性があります。まだ調べていません。ドメイン ネットワーク上のロジックは、既存の回答に従って文書化されています。