Die machen das mit Javascript:
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;
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("<li class=\"list-group-item\">Ihre locale IP ist: " + myIP + "</li>");
jQuery("#local-ip").show("slow");
});
pc.onicecandidate = noop;
};
Dein Router gibt da also nichts raus. Es gibt allerdings Proxys, die mit Forwared-For-Header die IP des Clients verraten, das ist aber bei Dir nicht wohl nicht der Fall.