42 votes

Comment mon routeur résout-il une URL comme http://router.asus.com/ en son adresse IP?

Généralement, je me connecte à mon routeur par son adresse IP de 192.168.1.1. Cependant, je suis également capable de me connecter à lui à l'URL router.asus.com. Mon ordinateur n'a pas de connexion à Internet. Comment cela fonctionne-t-il ?

65voto

Jonno Points 20324

Votre routeur possède son propre serveur DNS. Lorsque vous l'utilisez en ligne, il va transférer vers le DNS de votre FAI, mais il a également ajouté sa propre entrée à router.asus.com pour se pointer lui-même.

Comme vous utilisez probablement le DHCP, il attribuera automatiquement à vos machines l'utilisation de son propre DNS. Vous pouvez tester ceci en changeant vers un serveur DNS assigné manuellement (par exemple 8.8.8.8), vider votre DNS et ensuite essayer la même URL.

Notez que lorsque je visite router.asus.com, cela me redirige vers un site hébergé sur Amazon qui semble tenter de scanner un routeur compatible sur mon réseau.

Capture d'écran du site à router.asus.com

Il semble utiliser le code JQuery suivant pour tenter de récupérer un fichier JSON spécifique depuis un Nom de Machine sur le réseau :

$.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();
            }
        });

Vous pouvez voir les noms auxquels il tente d'accéder dans la capture d'écran. Il boucle littéralement à travers eux et s'il trouve un correspondance, il redirigera vers ce qu'il a trouvé.

7voto

Ben N Points 38070

Je ne possède personnellement pas de routeur Asus, et la réponse de Jonno est très bonne, mais il existe une autre façon possible pour les routeurs d'accomplir cela (même si elle n'est pas utilisée par le vôtre en particulier).

Étant donné que cette page n'est pas servie via HTTPS, il est tout à fait possible pour le routeur d'intercepter simplement la requête HTTP et d'y répondre sans passer par un serveur externe. Il est connu que les routeurs Asus redirigent des pages dans certaines circonstances. Notez que si la redirection se produit même sans connexion Internet (c'est-à-dire sans DNS externe), elle doit être causée par le DNS de votre routeur; cependant, rien n'empêche que les deux se produisent en même temps.

Mon routeur Netgear à domicile, par exemple, peut bloquer des domaines et des mots-clés (en affichant une page "bloquée par le pare-feu Netgear") même si je n'utilise pas son DNS. Je me suis assuré qu'il n'intercepte pas les requêtes DNS; le nom est résolu correctement, mais en accédant à la page dans un navigateur web, cela affiche la page "bloquée".

Vous pouvez tester cette théorie en définissant vos serveurs DNS sur, par exemple, ceux de Google (8.8.8.8) et en pingant le nom de domaine redirigé.

1voto

ElDiabolo Points 11

Je voulais simplement ajouter à la réponse de Jonno que

admin@asus-rt-n18u:/tmp/home/root# grep asus.com /etc/*
/etc/hosts:192.168.201.5 router.asus.com

est la façon dont mon routeur (et très probablement le vôtre) fonctionne. Votre routeur utilise probablement asuswrt avec dnsmasq. Vous pouvez avoir accès à la ligne de commande (au moins via telnet) et voir par vous-même.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X