Unable to fetch IP V4 address from RTCPeerConnection - chrome

前端 未结 1 1181
南旧
南旧 2021-02-04 22:26

I need to fetch the client local IP address from a web application.

For which I am using a standard RTCPeerConnection implementation to fetch. But the ice candidate tha

1条回答
  •  北荒
    北荒 (楼主)
    2021-02-04 22:46

    TL;DR

    It looks like local addresses are/will be anonymized using mDNS and default setting for the flag would be gradually set to Enabled for all Chrome users.

    For local development take a look here (set to Disable): chrome://flags/#enable-webrtc-hide-local-ips-with-mdns

    Unless someone finds out some clever hack for it, you probably won't be able to revert the change for users of your webapp.


    That guid is actually mDNS address. Quick search in newest WebRTC bugs in Chromium https://bugs.chromium.org/p/chromium/issues/list?can=2&q=component%3ABlink%3EWebRTC+ revealed few interesting entries, and there are few StackOverflow questions regarding anonymization not working (like this one: mDNS Support for WebRTC at Google Chrome M74).

    Right now I see the effect in Chrome 75 on few computers with Windows 10 - some sites which previously were able to detect local IP flawlessly (http://net.ipcalf.com, https://ipleak.net, https://browserleaks.com/webrtc) now don't display it or show mDNS url instead.

    As a sidenote: after enabling the mDNS flag, the extension you've linked wasn't able to detect my exact local IP. Instead, it showed few candidates from /24 address group. Even then, the extension could be privileged in some way, so it wouldn't be affected so much by mDNS anonymization.


    EDIT (Mar 2020): it looks like Firefox could be anonymizing local IPs as well.

    As of March 2020, there are two settings in about:config page:

    • media.peerconnection.ice.obfuscate_host_addresses - when set to true, it changes local IP to {uuid}.local
    • media.peerconnection.ice.obfuscate_host_addresses.whitelist - string with URLs, which are able to retrieve real IP, even with obfuscation enabled

    I've checked Firefox 73 and Developer Edition 74 (without any extension that could have changed the setting), first had obfuscate_host_addresses set to false, while dev edition had it enabled.


    EDIT (Oct 2020): since Chrome 86 the mDNS setting is enabled and cannot be disabled via chrome://flags anymore (there is no such option available).

    0 讨论(0)
提交回复
热议问题