Código de JavaScript - Obtener la IP del usuario con JavaScript utilizando RTCPeerConnection

Imágen de perfil
Val: 1.011
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener la IP del usuario con JavaScript utilizando RTCPeerConnectiongráfica de visualizaciones


JavaScript

Publicado el 10 de Noviembre del 2019 por joel
653 visualizaciones desde el 10 de Noviembre del 2019
Este código muestra como obtener la IP de un usuario utilizando RTCPeerConnection (https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection)

1

Publicado el 10 de Noviembre del 2019gráfica de visualizaciones de la versión: 1
654 visualizaciones desde el 10 de Noviembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Este código no es de mi propiedad.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
 
<script>
/**
 * Get the user IP throught the webkitRTCPeerConnection
 * @param callback {Function} listener function to expose the IP locally
 * @return undefined
 */
function getUserIP(callback) { //  onNewIp - your listener function for new IPs
    //compatibility for firefox and chrome
    var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
    var pc = new myPeerConnection({
        iceServers: []
    }),
    noop = function() {},
    localIPs = {},
    ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
    key;
 
    function iterateIP(ip) {
        if (!localIPs[ip]) {
            callback(ip);
        }
        localIPs[ip] = true;
    }
 
     //create a bogus data channel
    pc.createDataChannel("");
 
    // create offer and set local description
    pc.createOffer().then(function(sdp) {
        sdp.sdp.split('\n').forEach(function(line) {
            if (line.indexOf('candidate') < 0) return;
            line.match(ipRegex).forEach(iterateIP);
        });
 
        pc.setLocalDescription(sdp, noop, noop);
    }).catch(function(reason) {
        // An error occurred, so handle the failure to connect
    });
 
    //listen for candidate events
    pc.onicecandidate = function(ice) {
        if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
        ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
    };
}
 
getUserIP(function(ip){
    document.getElementById("ip").innerHTML="Tu dirección IP es: "+ip;
});
</script>
 
</head>
 
<body>
    <div id="ip"></div>
</body>
</html>



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5638