首页 > 编程 > JavaScript > 正文

JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法

2019-11-20 09:02:53
字体:
来源:转载
供稿:网友

Firefox 跟 Chrome支持WebRTC可以向STUN服务器请求,返回内外网IP,不同于XMLHttpRequest请求,STUN请求开发者工具当中看不到网络请求的。

//get the IP addresses associated with an accountfunction getIPs(callback){  var ip_dups = {};  //compatibility for firefox and chrome  var RTCPeerConnection = window.RTCPeerConnection    || window.mozRTCPeerConnection    || window.webkitRTCPeerConnection;  var mediaConstraints = {    optional: [{RtpDataChannels: true}]  };  //firefox already has a default stun server in about:config  //  media.peerconnection.default_iceservers =  //  [{"url": "stun:stun.services.mozilla.com"}]  var servers = undefined;  //add same stun server for chrome  if(window.webkitRTCPeerConnection)    servers = {iceServers: [{urls: "stun:stun.services.mozilla.com"}]};  //construct a new RTCPeerConnection  var pc = new RTCPeerConnection(servers, mediaConstraints);  //listen for candidate events  pc.onicecandidate = function(ice){    //skip non-candidate events    if(ice.candidate){      //match just the IP address      var ip_regex = /([0-9]{1,3}(/.[0-9]{1,3}){3})/      var ip_addr = ip_regex.exec(ice.candidate.candidate)[1];      //remove duplicates      if(ip_dups[ip_addr] === undefined)        callback(ip_addr);      ip_dups[ip_addr] = true;    }  };  //create a bogus data channel  pc.createDataChannel("");  //create an offer sdp  pc.createOffer(function(result){    //trigger the stun server request    pc.setLocalDescription(result, function(){});  }, function(){});}//Test: Print the IP addresses into the consolegetIPs(function(ip){console.log(ip);});

以上这篇JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表