本文へスキップ

WebRTCリーク

WebRTCリークテスト:ブラウザ通話でIPアドレスについて何がわかるか

関連ガイド:IP電話は安全?ブラウザ通話が守るもの、さらしてしまうもの

Googleの優先ソースにcallfrombrowser.orgを追加

要点

WebRTCリークテストは、ブラウザがWebRTCを通じてWebページに渡すIPアドレスをすべて一覧にするもので、隠したつもりのアドレスを見つけられます。多いのは、VPNを使っているのにインターネット接続事業者(プロバイダー)のアドレスが見えてしまうケースです[1]。ブラウザから電話番号にかける通話でIPアドレスが見えるのは通話サービスで、電話をかけた相手ではありません。相手に届くのは発信者番号です[2]。このテストは、ブラウザから電話をかける前に私がすすめているプライバシーと安全性のチェックのひとつです。

主なポイント

WebRTCリークとは?

WebRTC通話の前に、ブラウザはICE候補と呼ばれるネットワーク経路の候補を集め、相手側に渡してもらうためにWebページへ引き渡します。それぞれの候補にはIPアドレス、または隠されたローカルアドレスの代わりにランダムな.localの名前が入っています。普通のWebサイトに見えるのはリクエスト元のパブリックアドレスだけですが、WebRTCを通じるとページはそれ以上の情報を得られます[1]。この一覧に、共有するつもりのなかったアドレスが含まれていれば、それがリークです。

通話のそれ以外の流れはWebRTC・SIP・電話網の仕組みで説明しています。リークに関係するのは候補の一覧だけです。MDNは、候補のアドレスは常にページから見えると注記しています[6]。

WebRTCリークテストに表示されるアドレスと、それぞれから分かること
候補の種類表示されるアドレスプライバシー上のリスク
hostローカルネットワーク上の端末のアドレス。ブラウザが隠している場合は.localで終わるランダムな名前[7][3]パブリックアドレスより低いが、IETFはプライベートIPv4アドレスをかなり重要なフィンガープリンティングの手がかりとしている[1]
srflx(server reflexive)ルーターやVPNがSTUNサーバーに見せているパブリックアドレス[7]VPNの使用中にプロバイダーのアドレスが出ていれば高い[1]
relayメディアを中継するTURNサーバー上のアドレス[7]低い。相手に見えるのは中継サーバーのアドレスで、あなたのアドレスではない[6]。ただし中継サーバーの運営者にはあなたが見える

IETFは、匿名でいるためにVPNを使う人がいることから、VPNのケースを最も重大としています[1]。ほかの2つは、プライベートアドレスが見えるケースと、WebRTCの接続確認がプロキシを迂回して実際のパブリックアドレスが明らかになるケースです[1]。

ブラウザ通話でIPアドレスは相手に伝わる?

通話サービスには伝わります。どのWebサイトにもあなたのパブリックアドレスは見えており[1]、通話ではさらにサービスのサーバーとのメディア接続が加わります。固定電話や携帯電話にかけた相手には伝わりません。通話は事業者のゲートウェイでインターネットを離れ[8]、電話網が相手に渡すのはIPアドレスではなく発信者番号だからです[2]。アプリ同士の通話では、2台の端末が直接つながることがあります。

通話の種類別、IPアドレスが見える相手(2026年11月1日時点の公式ヘルプページより)
通話の種類サービス電話をかけた相手
ブラウザから電話番号へ(Google Voice、TwinPhone、Yolla)見える:メディア接続を担っている見えない:相手には発信者番号が表示される[2]
無料のWebダイヤラー(Call2Friends、Globfone)見える:Call2FriendsはIPアドレスごとに無料通話を制限しており、Globfoneのプライバシーポリシーは処理する技術データやログにIPアドレスを挙げている[9][10]見えない:相手には発信者番号が表示される
Messenger(1対1の通話)見える見える:MetaはIPアドレスが相手の端末と共有されるとしている[4]
WhatsApp見える「通話でIPアドレスを保護」がオンでなければ見えることがある。グループ通話は常に中継される[5]
Telegram見える見えることがある:Telegramの2017年の発表では、通話は可能な限りピアツーピアでつながる[11]

実在の電話番号への通話で問題になるのは、サービスが何を知り、何を保存するかです。かけた相手の側に何が見えるかは、ブラウザから電話したときに表示される番号で解説しています。

WebRTCリークテストのやり方

リークテストのページは、ダイヤラーが通話の前に行うのと同じことをします。WebRTC接続を開き、STUNサーバーにどのパブリックアドレスが見えるかを問い合わせ、すべての候補を、通常のHTTPで見えるアドレスと並べて表示します。電話に使うブラウザごとに、まずVPNをオフにして、次にオンにして実行してください。

  1. VPNをオフにして、BrowserLeaksのWebRTC Leak Testのようなリークテストのページを開きます。上部の「Your Remote IP」と、「Your WebRTC IP」の下の「Public IP Address」が一致するはずです。
  2. VPNをオンにして再読み込みします。今度は「Your Remote IP」にVPNのアドレスが表示されるはずです。
  3. WebRTCの欄にまだプロバイダーのアドレスが表示されていれば、WebRTCがトンネルを迂回しています[1]。
  4. .localで終わるローカルの項目は、アドレスが隠されていることを意味します[3]。192.168.や10.で始まるアドレスがそのまま出ていれば、隠されていません。
  5. ページにマイクのチェックがあれば、許可してもう一度テストします。ダイヤラーにはマイクへのアクセスが必要で、その許可によってより多くのアドレスが取得できるようになることがあるからです[1]。終わったら、サイトの設定から許可を取り消してください[12]。

マイクを許可するとChromeで何が変わったか

、私はMacのChrome 156でローカルのテストページを読み込みました。STUNサーバーは使っていないので、外部のサーバーにアドレスは送られていません。マイクの許可がない状態でページに見えたのは、.localで終わるランダムな文字列の名前が付いたhost候補1つだけでした[3]。マイクを許可すると、私の実際のローカルIPv4アドレスが取得されました。

これは標準どおりの動作で、標準はマイクの許可などの同意がある場合にだけアドレスの全一覧を認めています[1]。SafariのエンジンであるWebKitも、2017年に同じルールを説明しています[13]。つまり、許可したダイヤラーにはローカルアドレスが見えますが、これはパブリックアドレスより小さなリスクです[1]。

WebRTCリークを抑えるブラウザの設定

Braveは、ユーザー向けのWebRTCのIP設定を公開しています。GoogleはChromeの制御を拡張機能と管理者向けに、MicrosoftはEdgeの制御を管理者向けポリシーとして公開しています。Firefoxは標準でローカルアドレスを隠し、about:configに無効化のスイッチを用意しています。どのブラウザにも共通するルールがひとつあります。WebRTCが通話を運んでいるため、WebRTCをオフにするとブラウザのダイヤラーも使えなくなります[14]。

ブラウザ別のWebRTCアドレスの制御(2026年11月1日時点の各社ドキュメントより)
ブラウザ制御方法変わることブラウザ通話への影響
BraveBraveのwiki(最終更新は2018年)によると、プライバシー設定のWebRTC IP処理ポリシー[15]「Default Public Interface Only」ではローカルアドレスは一切公開されない[15]メディアが中継サーバー経由に切り替わることがある[1]
Chrome拡張機能でWebRTC IP処理ポリシーを設定できる[16]。管理者はWebRtcIPHandlingポリシーを設定できる[17]値によって、プライベートアドレスを使わなくなるか、メディアをプロキシ経由でのみ送るようになる[17]プロキシのみの値では音声がTCPに移ることがあり、IETFによると品質が下がる[1]
Edge管理者向けポリシーWebRtcLocalhostIpHandling[18]2つの値でローカルIPアドレスが公開されなくなる[18]Chromeと同じ
Firefoxローカルアドレスは標準で非表示[19]。about:configのmedia.peerconnection.enabled[20]この設定をfalseにするとWebRTCがオフになるブラウザのダイヤラーが使えなくなる
Safari組み込みのルールWebKitが2017年に説明したとおり、マイクやカメラへのアクセスがないページにはhostアドレスが渡されない[13]なし

VPNを使うとブラウザ通話はどう変わる?

WebRTCを含むすべての通信をトンネル経由で送るVPNなら、通話サービスに見えるのはあなたのアドレスではなくVPNのアドレスです。スプリットトンネルのVPNでは、WebRTCがプロバイダーのアドレスも見つけてしまうことがあります[1]。だからこそ、VPNをオンにした状態でリークテストを行うのです。VPNには通話への副作用もあります。

通話でIPアドレスを守るには

通話の種類に合わせて対策を選びます。電話番号への通話では相手にIPアドレスは伝わらないので、IPアドレスを預けても信頼できるサービスを選び、VPNを確認しましょう。アプリ同士の通話では相手の端末が直接つながってくることがあるので、アプリに中継の設定があれば使いましょう。

  1. ブラウザ通話:VPNをオンにしてリークテストを実行します。Braveでは「Default Public Interface Only」を選びます[15]。
  2. マイク:一度しか使わないダイヤラーでは「今回のみ許可」で許可します[12]。私のChromeでの確認では、この許可を持つページにはローカルアドレスが見えました。
  3. WhatsApp:「通話でIPアドレスを保護」をオンにします。ヘルプページが扱っているのはAndroid、iOS、MacでWebは含まれておらず、中継された通話は品質が多少下がることがあると注意しています[5]。

よくある質問

WebRTCリークテストとは何ですか?

WebRTCリークテストは、ブラウザ通話で使われる接続の準備を実行し、ブラウザが提示するすべてのIPアドレスを、通常のHTTPでページに見えるアドレスと並べて表示するWebページです。VPNをオンにしているのにプロバイダーのアドレスが一覧にあれば、WebRTCがトンネルを迂回しています[1]。ランダムな.localの名前なら、ローカルアドレスは隠されています[3]。

ブラウザから電話した相手に自分のIPアドレスは見えますか?

固定電話や携帯電話への通話なら見えません。事業者はブラウザの音声をゲートウェイで電話の通話に変換し[23]、電話網が相手に渡すのはIPアドレスではなく発信者番号です[2]。アプリ同士の通話は別で、Messengerは1対1の通話で相手の端末とIPアドレスを共有するとしています[4]。

VPNでWebRTCリークは防げますか?

WebRTCを含むすべての通信をトンネル経由で送るVPNなら防げます。スプリットトンネルのVPNでは防げないことがあります。WebRTCがVPNのアドレスに加えてプロバイダーのパブリックアドレスも検出できるからです[1]。確かめるには、VPNに接続した状態で、使うブラウザごとにリークテストを行い、アップデートのたびに繰り返すしかありません。

ローカルIPアドレスの漏えいは危険ですか?

パブリックアドレスの漏えいほどではありません。192.168.1.20のようなプライベートアドレスから居場所はわかりませんが、IETFはプライベートIPv4アドレスを、同じ端末での通常のブラウジングとプライベートブラウジングを結び付けられる、かなり重要なフィンガープリンティングの手がかりとしています[1]。Firefoxは標準でローカルアドレスを隠し[19]、Safariはマイクやカメラへのアクセスがないページからは隠します[13]。私の確認ではChromeも同様でした。

シークレットモードやプライベートブラウズでWebRTCリークは防げますか?

防げません。IETFは、WebRTCで明らかになったプライベートアドレスが識別子として働き、通常のウィンドウとプライベートブラウズのウィンドウが同じ端末にあることをサイトに知らせてしまう可能性があると指摘しています[1]。つまり、プライベートモードだけでは隠せません。上で紹介したブラウザの設定を使い、プライベートウィンドウでもリークテストを実行してください。

WebRTCリーク対策の拡張機能は効果がありますか?

ある程度は効果があります。Chromeでは拡張機能がブラウザのWebRTC IP処理ポリシーを設定でき、Googleはこれを、メディアの性能と公開されるローカルアドレス情報の量とのトレードオフだと説明しています[16]。値によってローカルアドレスが隠されるか、メディアがプロキシ経由に強制され、後者では音声がTCPに移って品質が下がることがあります[1]。拡張機能を入れたら、リークテストを実行して変化を確認しましょう。

FirefoxでWebRTCをオフにするには?

アドレスバーにabout:configと入力し、media.peerconnection.enabledを検索してfalseに設定します。Mozillaのソースコードでは、この設定はRTCPeerConnectionのスイッチとされており、オフにするとページからマイクのAPIへのアクセスもなくなります[20]。そうなるとブラウザのダイヤラーはどれも使えなくなるため、多くの人にとっては、すでにローカルアドレスを隠しているFirefoxの標準設定のままのほうが良いでしょう[19]。

ChromeでWebRTCリークを防ぐには?

拡張機能かポリシーで設定します。GoogleがChromeのWebRTCのアドレス制御を案内しているのは、この2つだからです。拡張機能はWebRTCのIP処理ポリシーを設定でき[16]、管理者はWebRtcIPHandlingを設定できます。値をdefault_public_interface_onlyにすると、WebRTCはプライベートアドレスを使わなくなります[17]。私がChromeで確認したところ、マイクの許可がないページには、もともとランダムな.local名しか見えていませんでした[3]。VPNを使っている場合、本当の対策はすべての通信をトンネルに通すことです[1]。WebRTCを完全にブロックするものは、ブラウザ通話も止めてしまいます[14]。

ウェブサイトは許可なしにWebRTCで私のIPアドレスを見られますか?

グローバルIPアドレスなら見られますが、それはウェブサイトがもともと見ているものです。たとえばSafariは、マイクへのアクセス権がないページには、サイトがすでに収集できるアドレスしか渡しません[13]。落とし穴はブラウザのプロキシです。インターネットへの直接接続が許されていると、WebRTCのSTUNチェックがプロキシを迂回して、本当のグローバルIPアドレスを明かすことがあります[1]。ローカルアドレスのほうは守りが固く、標準仕様では完全な一覧をマイク許可などの同意と結びつけています[1]。私がChromeで確認したところ、その許可のないページにはランダムな.local名しか見えていませんでした[3]。

この調査についてAIに聞く

各ボタンを押すと新しいタブでAIアシスタントが開き、このページへのリンクを出典として示したうえで要約するよう依頼します。

出典

  1. RFC 8828: WebRTC IP Address Handling Requirements · IETF (RFC Editor) · 2026年11月1日確認
  2. 47 CFR 64.1601 -- Delivery requirements and privacy restrictions | eCFR · US Code of Federal Regulations (eCFR) · 2026年11月1日確認
  3. Using Multicast DNS to protect privacy when exposing ICE candidates (draft-ietf-mmusic-mdns-ice-candidates) · IETF (Internet-Draft, work in progress) · 2026年11月1日確認
  4. Voice call someone or a group on Messenger - Messenger Help Center (Computer) · 2026年11月1日確認
  5. How to protect your IP address on WhatsApp calls | WhatsApp Help Center · WhatsApp · 2026年11月1日確認
  6. RTCIceCandidate: address property - Web APIs | MDN · MDN Web Docs (Mozilla) · 2026年11月1日確認
  7. RTCIceCandidate: type property - Web APIs | MDN · MDN Web Docs (Mozilla) · 2026年11月1日確認
  8. Make calls | Sonetel help · 2026年11月1日確認
  9. Free call | Call2Friends - Online call · 2026年11月1日確認
  10. Privacy Policy | Globfone · 2026年11月1日確認
  11. Voice Calls: Secure, Crystal-Clear, AI-Powered | Telegram Blog (30 March 2017) · Telegram · 2026年11月1日確認
  12. Use your camera and microphone in Chrome - Computer - Google Chrome Help · Google · 2026年11月1日確認
  13. A Closer Look Into WebRTC | WebKit (3 July 2017) · WebKit (Apple) · 2026年11月1日確認
  14. WebRTC API - Web APIs | MDN · MDN Web Docs (Mozilla) · 2026年11月1日確認
  15. WebRTC Custom Settings · brave/brave-browser Wiki · Brave Software (official GitHub wiki) · 2026年11月1日確認
  16. chrome.privacy | API | Chrome for Developers · Google (Chrome for Developers) · 2026年11月1日確認
  17. Chrome Enterprise policy list: WebRtcIPHandling (WebRTC IP handling) · Google (Chrome Enterprise) · 2026年11月1日確認
  18. Microsoft Edge Browser Policy Documentation WebRtcLocalhostIpHandling | Microsoft Learn · Microsoft · 2026年11月1日確認
  19. Firefox source: modules/libpref/init/all.js (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · 2026年11月1日確認
  20. Firefox source: modules/libpref/init/StaticPrefList.yaml (mozilla-firefox/firefox) · Mozilla (official Firefox source repository) · 2026年11月1日確認
  21. Terms of Use – TextNow · 2026年11月1日確認
  22. Privacy Policy – Privacy & Terms – Google · Google · 2026年11月1日確認
  23. Call From Your Browser Without a SIM Card - TwinPhone · 2026年11月1日確認