it-swarm.com.de

Wie löst mein Router eine URL wie http://router.asus.com/ in seine IP-Adresse auf?

Normalerweise verbinde ich mich mit meinem Router über die IP-Adresse 192.168.1.1. Ich kann mich jedoch auch unter der URL router.asus.com damit verbinden. Mein Computer hat keine Verbindung zum Internet. Wie funktioniert das?

38
Ryan R

Ihr Router hat einen eigenen DNS-Server. Wenn Sie es online verwenden, wird es an den DNS Ihres Internetdienstanbieters weitergeleitet, aber es wird auch ein eigener Eintrag unter router.asus.com hinzugefügt, um auf sich selbst zu verweisen.

Da Sie wahrscheinlich DHCP verwenden, weist es Ihren Computern automatisch die Verwendung eines eigenen DNS zu. Sie können dies testen, indem Sie zu einem manuell zugewiesenen DNS-Server wechseln (z. B. 8.8.8.8), Ihren DNS leeren und dann dieselbe URL versuchen.

Beachten Sie, dass der Besuch von router.asus.com mit meiner Verbindung mich zu einer von Amazon gehosteten Site führt, die offenbar versucht, in meinem Netzwerk nach einem kompatiblen Router zu suchen.

Screen shot of site at router.asus.com

Anscheinend wird die folgende JQuery verwendet, um zu versuchen, eine bestimmte JSON-Datei von einem Computernamen im Netzwerk abzurufen:

$.ajax({
            url: "http://" + target.domainName + "/findasus.json", 
            dataType: "jsonp",
            timeout: 20000,
            global: true,
            complete: function(jqXHR, textStatus){
                switch(jqXHR.status){
                    case 0:
                        target.status = 2;
                        break;
                    default:
                        target.status = 1;
                        iAmAlive({
                            modelName: target.domainName.replace("findasus.local", "ASUS"),
                            ssid: "",
                            ipAddr: target.domainName
                        });
                }

                sessionComplete();
            }
        });

Die Namen, auf die zugegriffen werden soll, sind im Screenshot zu sehen. Im wahrsten Sinne des Wortes nur durchschleift und wenn es einen Treffer bekommt, wird es umleiten, was es gefunden hat.

63
Jonno

Ich persönlich besitze keinen Asus-Router, und Jonnos Antwort ist sehr gut. Router können dies jedoch auf andere Weise erreichen (auch wenn sie nicht von Ihrem eigenen Router verwendet werden).

Da diese Seite nicht über HTTPS bereitgestellt wird, kann der Router die HTTP-Anforderung einfach abfangen und beantworten, ohne einen externen Server anzusprechen. Es ist bekannt, dass Asus-Router unter bestimmten Umständen Seiten umleiten . Beachten Sie, dass die Umleitung auch ohne Internetverbindung (d. H. Ohne externen DNS) vom DNS Ihres Routers verursacht werden muss. Es gibt jedoch keinen Grund, warum beides nicht möglich sein könnte.

Mein Netgear-Heimrouter kann z. B. Domänen und Keywords blockieren (auf der Seite "Von Netgear-Firewall blockiert"), auch wenn ich den DNS nicht verwende. Ich habe dafür gesorgt, dass die DNS-Anfragen nicht abgefangen werden. Der Name wird korrekt aufgelöst, aber wenn Sie die Seite in einem Webbrowser aufrufen, wird die Seite "gesperrt".

Sie können diese Theorie testen, indem Sie auf Ihren DNS-Servern beispielsweise Googles (8.8.8.8) festlegen und den umgeleiteten Domainnamen pingen.

7
Ben N

Ich wollte nur zu Jonnos Antwort hinzufügen

[email protected]:/tmp/home/root# grep asus.com /etc/*
/etc/hosts:192.168.201.5 router.asus.com

so macht mein (und höchstwahrscheinlich) Router das. Ihr Router läuft wahrscheinlich asuswrt mit dnsmasq. Sie können Shell-Zugriff haben (zumindest über Telnet) und selbst nachsehen.

1
ElDiabolo