AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

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

51自学网 http://www.wanshiok.com
JS绕过代理,VPN获取真实IP

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,逆向追踪的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持wanshiok.com。


JS绕过代理,VPN获取真实IP  
上一篇:JavaScript-html标题滚动效果的简单实现  下一篇:jQuery遍历节点树方法分析