回答:
JavaScript自体は、すべてのネットワークインターフェイスを列挙することを許可せず、システムの接続元のIPのみを照会します。接続するWebサイトは、接続元のIPアドレスを伝えることができます。VPNの場合、自分のIPではなく、VPNのIPアドレスから「接続」しています。
このシナリオでは、2つの「脅威エージェント」があります。
次のようなネイティブコードまたは.NET / Javaコードを完全に信頼して実行することに同意する場合:
上記の環境により、プログラムは、すべてのネットワークカード/インターフェイスのリストを含む、ネイティブオペレーティング環境に関する詳細を照会できます。これらのインターフェイスの1つは、ローカルイーサネットまたはワイヤレスインターフェイスであり、(少なくとも)プライベートNAT IPを含みますが、パブリックIPを含む場合と含まない場合があります。
VPN自体は、HTTP要求にヘッダーを挿入してIPアドレスを渡すように構成できますが、その動作はVPNにとってはかなり珍しいことです。これは通常、プロキシによってのみ行われます。プロキシは、VPNと混同しないようにしてください。それでも、arbitrary意的で信頼できないVPN(あなたが制御しておらず、所有者が完全に信頼していないVPN)は、IPアドレスを与えたいと判断し、それを実行するように見えるかもしれません。したがって、ソフトウェアがそれを実行しないこと、およびマシンの所有者がソフトウェアを変更してそれを実行しないことを信頼する必要があります。
問題を尋ねた方法は、実際には情報理論的な問題です。これは単純な人間の相互作用の用語で理解できます。
この時点で、次の情報で何をしたいかを決定するのは、任意の人間の俳優であるサリー次第です。
サリーは次のように考えられます:
VPNソフトウェアがデフォルトで特定の動作をするように設定されているかどうかは、「可能ですか?」とは非常に異なる質問です。
短い答えはイエスです、それは可能です。
VPNサーバーの所有者/操作者、およびそこで実行されているすべてのソフトウェアを本当に信頼しない限り、常に可能性があります。また、所有者/操作者が見知らぬ人で、ボックスで実行されているソフトウェアを分析する手段がない場合、あなたの身元が保護されると疑う理由は絶対にありません。