☰ X
Logo c-schell.de

IP-Adressen trotz VPN herausfinden

von C. Schell

Viele Nutzer möchten ihre IP-Adresse bzw. ihren Standort im Internet geheim halten. Aus diesem Grund surfen Sie über Proxys oder VPN-Server im Internet.

Daniel Roesler zeigt auf Github, wie ein Server-Betreiber die ursprüngliche IP-Adresse des Benutzers trotz VPN erfahren kann: "STUN IP Address requests for WebRTC". 'Schuld' daran ist die WebRTC-Implementierungen von Mozilla Firefox und Google Chrome, eine Technik zur Echtzeitkommunikation im Browser.

Here is the annotated demo function that makes the STUN request. You can copy and paste this into the Firefox or Chrome developer console to run the test.

//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(){});

    }, function(){});
}

//Test: Print the IP addresses into the console
getIPs(function(ip){console.log(ip);});

Abhilfe:

  • Chrome: Die Erweiterung WebRTC Block.
  • Firefox: Unter about:config den Wert media.peerconnection.enabled auf false setzen.

 

VPN einrichten? So einfach geht's!

Einer der besten Wege, die eigene Internetnutzung sicherer zu gestalten, sind VPN-Verbindungen. Diese verschlüsseln sämtliche versendeten und empfangenen Daten. Für den 0815-Nutzer war es jedoch meist zu kompliziert, über VPN zu surfen - nun geht es kinderleicht mit ZenMate.

Das Berliner Startup bringt VPN-Funktionen als komfortables Plugin für den Chrome-Browser, Firefox, Android... und ist kinderleicht einzurichten!

(Mehr zu VPN gibt es hier)

Zurück

^