一部の Web サイトはどのようにして私のプライベート IP アドレスを取得できるのでしょうか?

一部の Web サイトはどのようにして私のプライベート IP アドレスを取得できるのでしょうか?

次のようなウェブサイト英文私のホストのプライベートIPアドレスを取得できるのに対し、他の人はhttps://www.iplocation.net/できません。
この動作の背後にある理由は何ですか?NATインターフェースを使用している場合、プライベートIPはサーバーにアクセスできないと常に思っていました。NAT
は送信パケットにパブリックIPを追加しますか、それともプライベートIPを完全に削除しますか?後者の場合、上記の動作が見られるのはなぜですか?
また、英文、私のIPは直接テキストとしてレンダリングされているのがわかりました。つまり、JavaScript関数への呼び出しは一切ありません。では、ウェブサイトはどうやって私のプライベートIPを知るのでしょうか。前にウェブページもレンダリングされますか?

プライベートIP

10.9.64.58 は私のプライベート IP アドレスです (ipconfig の後に取得されるもの)。

編集: @simlev が指摘しているように、次の情報を追加する必要があります。私は大学生で、PC でサイトにアクセスすると大学の LAN に接続されますが、携帯電話でも同じ動作が見られます。携帯電話はその LAN に接続されていません。Imgur のスクリーンショットここそしてここ

編集: 関連性があると思われる別の観察: https:// を使用して Web サイトにアクセスすると、パブリック IP (目的のもの) が取得されますが、http:// を使用してアクセスした場合にのみプライベート IP が取得されます。つまり、ここで話題になっているのは何らかのプロトコルの問題でしょうか?

答え1

http プロキシを使用していますか? 私の場合、Web プロキシは内部 IP を転送します。これはおそらく不正使用防止機能です。

同様の可能性として、ISP が共有の外部 IP アドレスのみを提供し、ユーザーが Web サイトにアクセスすると内部 IP も渡されることがあります。これは不正使用者を識別するためです。Web サイトは、ISP に不正使用の報告を提出する際に両方の IP を提供でき、内部 IP のおかげで ISP は不正使用者を迅速に追跡できます。外部の共有 IP のみでは、これを行うのは困難です。

リクエストでは内部 IP と外部 IP の両方が渡されるため、IP を表示する Web サイトの中には、リクエストが実際に送信された IP を表示するものもあれば、リクエストが行われたアカウントの IP を表示するものもあります。

送信するヘッダーを確認してください(例:ここ)。おそらく、ネットワーク上の何かまたは ISP のネットワーク デバイスの 1 つによって、プライベート IP が追加された X-Forwarded-For があると思われます。

詳細については、Cristopher、Adam Katz、Markの回答を参照してください。ここちなみに、マークは私と同じ提案をしており、同じウェブサイトにリンクしています :-)

アップデート:はい、(おそらく)プロキシを使用しています。

あなたのコメントから推測できるように、あなたがキャンパス内にいる場合、ISP (つまり大学) が学生一人ひとりを直接インターネットに接続しないのは当然です。つまり、透過的にプロキシされているのではないかと推測します。

アップデート:OPが気づいて正しく指摘したように、https経由でアクセスした同じウェブサイトでは、代わりに外部IPが表示されます。これは、プロキシであるため予想どおりです。いつものhttps トラフィックを変更しないため、内部 IP アドレスを公開する X-Forwarded-For を追加できません。

答え2

ウェブサイトが WebRTC セキュリティ リークを悪用している可能性があります。

uBlock Origin (Firefox用/Chrome用) はこのセキュリティ脆弱性を解消できます。ただし、設定ページに移動して、「WebRTC によるローカル IP アドレスの漏洩を防ぐ」という適切なボックスをオンにする必要があります。

関連情報