代码之家  ›  专栏  ›  技术社区  ›  Lixin Wei

为什么WebRTC可以在未经我许可的情况下获取我的本地IPv6地址?

  •  0
  • Lixin Wei  · 技术社区  · 1 年前

    我刚刚在运行WebRTC泄漏测试 https://browserleaks.com/webrtc

    在主报告中,它不包含我的本地IP,这很好。

    但当我仔细观察 SPD log ,令人惊讶的是,我发现我的本地ipv6地址在 SPD日志 :

    v=0
    o=- 100775639648217646 2 IN IP4 127.0.0.1
    s=-
    t=0 0
    a=group:BUNDLE 0 1 2
    a=extmap-allow-mixed
    a=msid-semantic: WMS
    m=audio 6267 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
    c=IN IP4 103.156.242.224
    a=rtcp:9 IN IP4 0.0.0.0
    a=candidate:366078193 1 udp 2113937151 7bfb0f9a-68de-4774-92b7-c162e8131e84.local 63729 typ host generation 0 network-cost 999
    a=candidate:1168470881 1 udp 1677729535 103.156.242.224 6267 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999
    a=ice-ufrag:FoOS
    a=ice-pwd:...
    ...
    

    在里面 a=candidate: , 7bfb0f9a-68de-4774-92b7-c162e8131e84.local 是我的本地ipv6地址。

    据我所知,浏览器需要我的音频或视频权限才能获取我的本地地址。那么浏览器如何在没有我的干扰的情况下获取我的本地IP呢?

    有人能给我解释一下吗?提前感谢!

    1 回复  |  直到 1 年前
        1
  •  1
  •   Philipp Hancke    1 年前

    7bfb0f9a-68de-4774-92b7-c162e8131e84.local 不是本地IPv6地址,而是本地可解析的MDNS主机名。 https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-mdns-ice-candidates 解释了这背后的理由。