手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法
JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法
摘要:Firefox跟Chrome支持WebRTC可以向STUN服务器请求,返回内外网IP,不同于XMLHttpRequest请求,STUN请求开...

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

//get the IP addresses associated with an account function 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 console getIPs(function(ip){console.log(ip);});

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

【JS绕过代理、VPN获取真实IP及内网IP,逆向追踪的实现方法】相关文章:

JS验证IP,子网掩码,网关和MAC的方法

JavaScript检测鼠标移动方向的方法

JavaScript深度复制(deep clone)的实现方法

javascript获取select值的方法分析

javascript瀑布流布局实现方法详解

JavaScript获得url查询参数的方法

JavaScript获取当前运行脚本文件所在目录的方法

js兼容火狐获取图片宽和高的方法

JavaScript获得指定对象大小的方法

使用JavaScript刷新网页的方法

精品推荐
分类导航