まず結論:WebRTCリークとは何ですか?
WebRTCリークとは、プロキシやVPNで隠す予定だったIPアドレスが、ブラウザのリアルタイム通信機能を通じてWebサイトに表示される状態です。 通常のWebページはプロキシ経由で読み込まれていても、WebRTCが別のネットワークインターフェースや直接接続の経路を調べると、想定していないIPv4、IPv6、ローカルアドレスなどが検出されることがあります。
ただし、検査画面に複数のアドレスが表示されたからといって、すぐに公開IPの漏洩と判断することはできません。公開IP、プライベートIP、IPv6、mDNS名、設定したプロキシの出口IPでは意味が異なります。正しく確認するには、直結時の基準値、実際に使うブラウザプロファイル、想定する出口IPを記録し、同じ条件で比較します。
この記事では、WebRTCリークの仕組み、WebRTCリークの確認方法、ブラウザやネットワーク設定に応じたWebRTCリークの修正方法、再発を抑えるWebRTCリークの防止方法を説明します。プロキシが必要なケースと、通常の地域ページ閲覧ならプロキシが不要なケースも分けて解説します。
WebRTCは何に使われる技術ですか?
WebRTC(Web Real-Time Communication)は、ブラウザで音声通話、ビデオ通話、画面共有、リアルタイムデータ通信を実現するための技術群です。WebRTCのAPIやブラウザの実装は、MDNのWebRTC APIドキュメントで確認できます。
WebRTC接続を始めるとき、ブラウザは通信に利用できるネットワーク経路を調べます。この候補を**ICE候補(ICE candidates)**と呼びます。候補には、次のような情報が含まれる場合があります。
- ローカルネットワークアダプターのプライベートIPv4アドレス
- 通常のIPv4またはIPv6経路
- STUNサーバーから見たサーバー反射アドレス
- 直接接続できない場合に使われるTURNリレーの候補
WebRTC、STUN、TURN自体は正規の通信機能です。問題になるのは、候補として表示されたアドレスが、利用者が保護したい経路と一致しない場合です。
WebRTCはどのようにIPを表示しますか?
ICE(Interactive Connectivity Establishment)は、複数の候補を収集して利用可能な通信経路を選びます。STUN(Session Traversal Utilities for NAT)は、外部サービスから見たネットワークのマッピングを確認するために使われます。TURN(Traversal Using Relays around NAT)は、端末同士の直接接続が難しい場合に通信を中継します。
ブラウザの拡張機能が通常のHTTPSリクエストだけをプロキシしていても、WebRTCがローカルインターフェースや直接のUDP経路を評価することがあります。実際の結果は、ブラウザ、OS、プロキシクライアント、DNS、IPv6設定、VPNの分割トンネル、ネットワークポリシーによって変わります。
公開IP、プライベートIP、IPv6、mDNSの違い
| 検出結果 | 考えられる意味 | 公開IPリークと直ちに判断できるか |
|---|---|---|
| 設定したプロキシまたはVPNの公開IPv4 | 想定した出口から観測されたアドレス | 通常はテスト計画と整合するが、そのテスト環境に限った結果 |
| ローカルISPの公開IPv4 | 直接経路または迂回経路が存在する可能性 | 調査が必要 |
| グローバルに到達可能なIPv6 | IPv4側の保護経路に含まれないIPv6経路の可能性 | IPv6ルーティングと分割トンネルを確認 |
| プライベートIPv4 | 家庭やオフィスのローカルネットワークアドレス | ISPの公開IP漏洩と同じではない |
.localのホスト名やmDNS結果 |
Multicast DNSで表現されたローカル候補 | それだけでは保護状態を判定できない |
| 候補が表示されない | スクリプトの失敗、ブロック、非対応の可能性 | 完全に保護された証明にはならない |
mDNS(Multicast DNS)は、ローカルホストアドレスを読みにくいローカル名へ置き換えることがあります。.localが表示された場合も、重大な公開IPリークとも、完全な合格とも決めつけず、他の候補とテスト条件を確認してください。
WebRTCリークが自動的に意味しないこと
WebRTCの検査結果だけで、Webサイトがカメラやマイクの中身を読み取ったことにはなりません。パスワード、住所全体、すべてのブラウザ属性が同時に公開されたことを意味するわけでもありません。WebRTCのアドレス公開、ブラウザフィンガープリント、Cookieによるセッション関連付け、DNSリークは別の問題です。それぞれに異なる検査と対策が必要です。
なぜプロキシやVPNを使ってもWebRTCリークが起きるのですか?
ICE、STUN、TURNの役割
候補の収集と優先順位は、RFC 8445(ICE)で定義されています。RFC 8489(STUN)はサーバー反射アドレスの取得、RFC 5766(TURN)は直接接続できない場合のリレーを扱います。

アプリケーションプロキシとフル機能VPNの違い
| ネットワーク方式 | 通常影響する範囲 | 追加で確認すること |
|---|---|---|
| ブラウザ拡張のプロキシ | 拡張機能が制御するリクエスト | 権限、バイパス規則、WebRTCポリシー |
| システムHTTPプロキシ | システム設定に従うアプリの通信 | ブラウザとWebRTCが設定を利用するか |
| SOCKS5プロキシ | クライアントが対応するTCPその他の通信 | クライアント、DNS方式、UDP処理、ブラウザ経路 |
| VPNアプリ | VPNトンネルと分割トンネルの対象通信 | IPv4、IPv6、UDP、DNS、アプリ除外 |
| フルネットワークトンネル | より広いシステム経路 | 実際のクライアント設定とルート状態 |
SOCKS5はプロキシプロトコルであり、通信全体の暗号化機能や匿名性の保証ではありません。Socks5.IOを使う場合は、住宅プロキシのプロトコルで、対象製品のプロトコル形式と認証方式を確認してください。SOCKS5という文字だけでWebRTC経路まで保護されると判断することはできません。
プロキシのIPタイプだけでは結果を決められない理由
住宅プロキシ、静的住宅プロキシ、モバイルプロキシ、データセンタープロキシは、IPアドレスの出所を表します。ブラウザが直接インターフェースからICE候補を収集するかどうかを決めるものではありません。安定した出口は比較テストの変数を管理しやすくしますが、WebRTCの動作を自動的に変更するわけではありません。
長期間の比較で同じ出口を使う必要がある場合は、製品とアカウントが対応していることを確認したうえで、静的住宅プロキシを検討できます。これはテスト条件をそろえるための選択肢であり、ブラウザの全WebRTC通信がそのIPを通ることを保証するものではありません。

IPv4、IPv6、UDPで確認すること
IPv4のプロキシやVPNが正常に見えても、IPv6の経路が別に残っていることがあります。UDPの制限はWebRTC通話に影響し、VPNやブラウザが特定アプリだけを分割トンネルの対象外にする場合もあります。「IPv6を無効にする」「UDPを無効にする」をすべての環境に適用できる修正策と考えないでください。変更は元に戻せる状態で行い、実際に使う環境で再検証します。
WebRTCリークの確認方法
ステップ1:直結時の基準値を記録する
評価対象のブラウザプロファイルとネットワークを使い、プロキシやVPNを有効にする前の公開IPv4、IPv6、時刻、OS、ブラウザバージョン、接続ネットワークを記録します。会社や学校が管理する端末では、承認済みのセキュリティ設定をテストのために勝手に解除しないでください。
ステップ2:実際に使うプロキシまたはVPNを有効にする
本番のワークフローで使用する設定を適用し、想定する出口国、プロトコル、ポート、認証方式、セッション状態を記録します。まずIP情報サービスで通常のWeb出口を確認しますが、パスワード、トークン、Cookie、完全なアカウント情報はログやスクリーンショットに残しません。
Chromeでの設定が必要な場合は、接続先と認証方式が一致することを確認してから、Chromeプロキシ設定を参照してください。通常のIP確認は、WebRTC検査の代わりにはなりません。

ステップ3:WebRTC検査を実行する
実際に使う同じブラウザプロファイルで、信頼できるWebRTC検査ページを開きます。検査が完了したら、表示された公開IPv4、IPv6、プライベートアドレス、mDNS結果、時刻、ページのバージョン情報(表示される場合)を記録します。「検出なし」と表示されても、スクリプトがブロックされた可能性があるため、完全な匿名性の証拠とは扱いません。
ステップ4:結果を比較する
検出された各アドレスを、直結時の基準値と、想定したプロキシまたはVPNの出口と比較します。保護設定中に、基準値にあったローカルISPの公開IPが表示された場合は、WebRTCポリシー、IPv6、VPN分割トンネル、プロキシの適用範囲を優先的に調べます。ジオロケーションデータベースの市区町村表示には誤差があるため、都市名の不一致だけでWebRTCリークとは断定できません。
ステップ5:同じ条件で再検査する
条件を変えずに検査を繰り返します。結果が変わった場合は、拡張機能、VPNの分割トンネル、IPv6、ネットワーク変更、検査ページそのものを確認します。別の検査ページを使うと、スクリプトの不具合を切り分けやすくなりますが、検査ページごとに表示する候補の種類が異なる場合があります。ブラウザ、拡張機能、VPN、プロキシクライアントのバージョンも記録してください。
よくある検査結果の読み方
| 結果 | 初期判断 | 次に行うこと |
|---|---|---|
| 想定したプロキシIPだけが表示される | 今回のテストでは未想定の公開IPを確認していない | ブラウザやネットワーク変更後に再確認 |
| ローカルISPの公開IPが表示される | 直接経路または迂回経路の可能性 | WebRTCポリシー、IPv6、VPN分割、プロキシ範囲を調査 |
| プライベートIPだけが表示される | ローカルインターフェース情報が表示された | 公開IPの漏洩とは分けて評価 |
| 想定外のIPv6が表示される | IPv6が保護経路の外にある可能性 | VPN、プロキシクライアント、OSのIPv6経路を確認 |
.localアドレスが表示される |
mDNSのホスト候補の可能性 | 他の候補と組み合わせて判定 |
| 何も表示されない | 検査がブロック、非対応、未完了の可能性 | ページとスクリプトが実際に動作したか確認 |
WebRTCリークの修正方法
必要な機能に合わせて修正手段を選ぶ
| 要件 | 検討できる制御 | 主な影響 |
|---|---|---|
| WebRTCを使わない | WebRTCを無効化または制限 | 通話、画面共有、リアルタイムデータに影響する可能性 |
| WebRTC通話を残す | 非プロキシ経路を制限、または対応するトンネルを使用 | 互換性や通話品質が変わる可能性 |
| VPNを使う | IPv4、IPv6、UDP、DNS、分割トンネルを確認 | VPNクライアントとポリシーに依存 |
| プロキシを使う | ブラウザ範囲、プロトコル、認証、WebRTC動作を確認 | 通常のプロキシがICE候補を制御するとは限らない |
| 管理端末を使う | 承認済みのブラウザポリシーやネットワーク設定を利用 | 個人拡張機能がブロックまたは上書きされる可能性 |
Chrome、Edge、Chromium系ブラウザ
現在のブラウザバージョンで文書化されたポリシー、または権限を確認した拡張機能を使用します。出所不明のワンクリックスクリプトは避けてください。拡張機能が非プロキシUDPを制限しているのか、候補アドレスの扱いを変更しているのか、WebRTC自体を無効にしているのかを確認します。これらは機能への影響が異なります。
プロキシのバイパス規則や、ルートを変更する他の拡張機能も確認します。Chromeプロキシ設定はブラウザ側のホスト、ポート、認証項目を確認する資料として使えますが、ChromeのWebRTCが同じ経路を利用する証明ではありません。変更前に復元方法を記録し、現在の公式ドキュメントで確認できない古い実験的フラグを既定の修正策にしないでください。
Firefox
FirefoxにはWebRTCの動作を制限または無効化できるプライバシー設定がありますが、設定名と影響はリリースによって変わります。WebRTCを完全に停止する設定と、候補経路を制限する設定を分けて考えます。完全停止は通話や画面共有に影響する可能性があります。設定を1つ変更したら同じ条件で再検査し、必要なWebRTCサービスが動作するか確認します。
Brave
使用中のBraveデスクトップ版またはモバイル版にあるプライバシー設定とWebRTC設定を確認します。アンチトラッキング機能は、完全なネットワークトンネルを作る機能ではありません。設定を変更した後、ブラウザの表示名ではなく、実際に検出された公開候補を確認します。
Safari
macOS、iOS、iPadOSで利用できる制御は同一ではありません。デスクトップ向け拡張機能の手順をモバイルブラウザへそのまま適用しないでください。ブラウザ側で適切な制御がない場合は、承認済みのシステムネットワーク設定やクライアントを確認し、実際に利用するWi-Fiまたはモバイル回線で再検査します。
ブラウザ設定だけで足りない場合のネットワーク確認
VPNの分割トンネル、IPv6、UDP、DNS方式、バイパスリストを確認します。複数のプロキシ拡張機能やVPNクライアントが互いの設定を上書きしていないかも確認してください。原因を追跡できるよう、1回につき1つの変数だけ変更します。証明書検証、ファイアウォール、すべてのIPv6機能を無条件に無効化する方法は推奨しません。
修正できたかを確認する方法
修正後の再検証チェックリスト
- 設定の反映に必要な場合はブラウザを再読み込みまたは再起動する。
- 同じブラウザプロファイルで同じWebRTC検査を実行する。
- 隠す予定だった公開IPv4またはIPv6が表示されなくなったか確認する。
- 通常のWebアクセスが想定した経路を通るか確認する。
- 残す必要がある音声、動画、画面共有、データ通信をテストする。
- 実運用で使うWi-Fi、モバイル回線、プロキシセッションへ切り替えて再確認する。
合格したテストで分かること、分からないこと
合格結果が示すのは、今回のブラウザ、端末、ネットワーク、検査ページの条件で、想定外のアドレスが表示されなかったという事実です。完全な匿名性、すべてのアプリケーション、将来のブラウザ更新後の結果までは保証しません。DNSリーク、ブラウザフィンガープリント、Cookie、アカウント関連付けが存在しないことも、WebRTCテストだけでは判断できません。
WebRTCリークの防止方法
設定変更後に再確認する
ブラウザ、VPN、プロキシクライアントを更新した後、Wi-Fiやモバイル回線を切り替えた後、プロキシの再接続やセッション変更後、拡張機能を追加・削除した後、IPv6、UDP、DNS、分割トンネルを変更した後は、再度検査します。最初の修正がネットワーク条件の変化で無効になっていないか確認できます。
設定の基準値を残す
OSとブラウザのバージョン、VPNまたはプロキシクライアント、プロトコル、ポート、認証方式、想定出口、検査日、維持したいWebRTC機能、復元手順を記録します。後から結果が変わったとき、記憶ではなく記録に基づいて変数を戻せます。
複数のネットワーク層を重ねすぎない
適用範囲が不明なプロキシ拡張機能を複数同時に使わないでください。VPNの分割トンネルとブラウザのバイパス規則を確認し、通常のWeb IP確認をWebRTC検査結果と混同しないようにします。ブラウザプロファイルとネットワーク環境ごとに検査記録を分けます。
Socks5.IOのプロキシで制御できること、できないこと
プロキシが制御できること
プロキシは、クライアントが実際にプロキシへ送る通信にネットワーク出口を提供します。製品、クライアント、公式設定が対応していれば、特定の地域や安定した比較用の出口を使えます。導入前に、住宅プロキシのプロトコルと住宅プロキシのエンドポイント生成で、プロトコル、ポート、認証、地域設定の適用範囲を確認してください。
プロキシが自動的に制御しないこと
プロキシは、ブラウザがWebRTCを有効にするか、ICE候補をどのように集めるか、拡張機能が動作を変更できるか、OSがIPv6とUDPをどの経路へ送るかを自動的に決定しません。Cookie、アカウント履歴、ブラウザフィンガープリントを消す機能でもありません。
WebRTCリークの調査にプロキシを使う手順
- 直結時の基準値を記録する。
- 使用予定のプロキシ端点を設定する。
- 通常のブラウザ出口IPを確認する。
- WebRTC検査を別に実行する。
- 公開IPv4、IPv6、プライベートIP、mDNSの結果を比較する。
- ブラウザまたはネットワーク経路を変更して再検査する。
端点確認はクライアント設定のネットワーク出口を検証し、WebRTC検査はブラウザのリアルタイム通信層が表示する候補を検証します。どちらの結果も、完全な匿名性を単独で保証するものではありません。
WebRTCリークと他のプライバシーリークの違い
| 問題 | 主な露出情報 | WebRTCリークとの違い |
|---|---|---|
| WebRTCリーク | リアルタイム通信の候補アドレス | ブラウザのICEと接続ポリシーに関係 |
| DNSリーク | 想定外のDNSリゾルバーへ送られた名前解決 | ICE候補ではなく名前解決の問題 |
| IPv6リーク | 想定経路外のIPv6通信 | IPv4だけの保護設定を迂回する可能性 |
| ブラウザフィンガープリント | Canvas、WebGL、フォント、タイムゾーンなど | IPアドレスなしでもブラウザを識別できる場合がある |
| Cookieやアカウント関連付け | ログイン状態と閲覧履歴 | アプリケーションデータでセッションを関連付ける |
1つの問題を修正しても、他の問題が解消されたことにはなりません。
WebRTC検証用のプロキシを選ぶときの確認事項
WebRTCの切り分けで一定の出口を使う必要がある場合は、Socks5.IOの静的住宅プロキシを候補にできます。購入や導入の前に、利用するブラウザまたはクライアントが対応するプロトコル、ポート、認証方式、セッション条件を確認してください。安定した出口は前後比較をしやすくしますが、WebRTCリークを自動的に修正する製品機能ではありません。
必要な地域、セッション時間、接続方式が決まっていない場合は、先に小さな検証範囲を定義します。直結時の基準値、プロキシ使用時の出口、WebRTC候補、必要な音声・動画機能を個別に記録すれば、不要なプラン購入や設定変更を避けやすくなります。
まとめ
WebRTCリークとは何ですかという疑問への答えは、通常のWebアクセスとブラウザのリアルタイム通信が同じネットワーク経路を使うとは限らず、保護対象だったIP候補が表示される状態です。検出されたアドレスの種類を確認し、直結時の基準値と想定した出口を比較したうえで、ブラウザ、VPN、プロキシクライアント、IPv6、UDP、DNSのどこに差があるかを切り分けます。
ブラウザ更新、ネットワーク変更、VPNやプロキシの再接続後は再検査してください。Socks5.IOのプロキシは、設定したクライアントにネットワーク出口を提供できますが、IPタイプやSOCKS5プロトコルだけでWebRTCの動作を制御するものではありません。
