web-dev-qa-db-ja.com

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

http://www.geoip.co.uk のようないくつかのWebサイトは、私のホストのプライベートIPアドレスを取得できますが、 https://www.iplocation.net/ そうすることができません。
この動作の背後にある理由は何ですか? NATインターフェイスを使用している場合、サーバーはプライベートIPにアクセスできないと常に思っていました。
NAT送信パケットにパブリックIPを追加しますか、それともプライベートIPを完全に削除しますか?後者の場合、上記の動作が観察されるのはなぜですか?
また、 http://www.geoip.co.uk のソースコードを表示したところ、IPがテキストとして直接レンダリングされていることがわかりました。 JavaScript関数に。では、Webサイトはどのようにして私のプライベートIPbeforeを認識し、Webページをレンダリングするのでしょうか?

privateip

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

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

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

5

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

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

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

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

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

更新:はい、(おそらく)プロキシを使用しています。

あなたがキャンパスにいる場合、あなたのコメントから推測されるように、あなたのISP(別名大学)がその学生の一人一人をインターネットに直接接続しないことは意味があります:私はあなたが透過的にプロキシされていると推測する傾向があります。

更新:OPが気づき、正しく指摘したように、https経由でアクセスした同じWebサイトには、代わりに外部IPが表示されます。プロキシ通常はhttpsトラフィックを変更せず、したがってX-Forwarded-Forを追加できないため、これは予想されます。これにより、内部IPアドレスが提供されます。

5
simlev

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

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

2
user477799