Dichos servicios web como whatismyip.com usan javascript para determinar su dirección IP local. A continuación se muestra el código extraído del sitio que mencionó anteriormente:
function checkLocal() {
window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; //compatibility for firefox and chrome
var pc = new RTCPeerConnection({iceServers: []}), noop = function () {
};
pc.createDataChannel(""); //create a bogus data channel
pc.createOffer(pc.setLocalDescription.bind(pc), noop); // create offer and set local description
pc.onicecandidate = function (ice) { //listen for candidate events
if (!ice || !ice.candidate || !ice.candidate.candidate) return;
//reads out local ip
var myIP = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate)[1];
jQuery(document).ready(function () {
jQuery("#local-ip").append("Your Local IP is: " + myIP);
jQuery("#local-ip").show("slow");
});
pc.onicecandidate = noop;
};
}
El código se enlaza con su PC (la PC se refiere a sí misma), pero con la interfaz puede leer los detalles del zócalo y eso incluye la IP local bajo la cual se conoce su computadora en su red de área local. Esa es una práctica común para obtener su dirección IP local. Es nuevo para mí que se puede hacer con javascript.
Para obtener más información sobre la API RTCPeerConnection
js: enlace