全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2334|回复: 24
打印 上一主题 下一主题

[疑问] 发现通过 webRTC 可以绕过获取真实IP,可怕,放代码...

[复制链接]
跳转到指定楼层
1#
发表于 2021-8-29 15:15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 虎谷 于 2021-8-29 15:16 编辑

详情:https://loc.528866.xyz/thread-885237-1-1.html

  1. function getIPs(callback){
  2.     var ip_dups = {};

  3.     var RTCPeerConnection = window.RTCPeerConnection
  4.         || window.mozRTCPeerConnection
  5.         || window.webkitRTCPeerConnection;
  6.     var useWebKit = !!window.webkitRTCPeerConnection;

  7.     if(!RTCPeerConnection){
  8.         var win = iframe.contentWindow;
  9.         RTCPeerConnection = win.RTCPeerConnection
  10.             || win.mozRTCPeerConnection
  11.             || win.webkitRTCPeerConnection;
  12.         useWebKit = !!win.webkitRTCPeerConnection;
  13.     }

  14.     var mediaConstraints = {
  15.         optional: [{RtpDataChannels: true}]
  16.     };

  17.     var servers = {iceServers: [{urls: "stun:stun.l.google.com:19302"}]};

  18.     var pc = new RTCPeerConnection(servers, mediaConstraints);

  19.     function handleCandidate(candidate){
  20.         var ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
  21.         var ip_addr = ip_regex.exec(candidate) && ip_regex.exec(candidate)[1];

  22.         if(!ip_addr) return;
  23.         if(ip_dups[ip_addr] === undefined)
  24.             callback(ip_addr);

  25.         ip_dups[ip_addr] = true;
  26.     }

  27.     pc.onicecandidate = function(ice){
  28.         if(ice.candidate)
  29.             handleCandidate(ice.candidate.candidate);
  30.     };

  31.     pc.createDataChannel("");

  32.     pc.createOffer(function(result){

  33.         pc.setLocalDescription(result, function(){}, function(){});

  34.     }, function(){});

  35.     setTimeout(function(){
  36.         var lines = pc.localDescription.sdp.split('\n');

  37.         lines.forEach(function(line){
  38.             if(line.indexOf('a=candidate:') === 0)
  39.                 handleCandidate(line);
  40.         });
  41.     }, 1000);
  42. }

  43. getIPs(function(ip){
  44.     ip && console.log(ip);
  45. });
复制代码


丢入控制台运行就出来了,各位MJJ不要搞事~
推荐
发表于 2021-8-29 15:15:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
推荐
发表于 2021-8-29 15:20:55 | 只看该作者
直播网站早就基于这个技术在搞P2P cdn了
推荐
发表于 2021-8-29 20:42:17 | 只看该作者
chrome.google.com/webstore/detail/ljdekjlhpjggcjblfgpijbkmpihjfkni
3#
发表于 2021-8-29 15:15:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
4#
发表于 2021-8-29 15:16:27 | 只看该作者
实际上压根没用,代理软件早就解决这个问题了,也不知道谁这么倒霉能被查到
6#
 楼主| 发表于 2021-8-29 15:17:26 | 只看该作者
jqbaobao 发表于 2021-8-29 15:16
实际上压根没用,代理软件早就解决这个问题了,也不知道谁这么倒霉能被查到 ...

CFW 没有解决?
7#
发表于 2021-8-29 15:17:27 | 只看该作者
帮你顶一下吧
8#
发表于 2021-8-29 15:17:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
9#
发表于 2021-8-29 15:20:10 | 只看该作者
https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-leaking-local-IP-address
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-2-7 20:28 , Processed in 0.067109 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表