Como meu roteador resolve um URL como http://router.asus.com/ para seu endereço IP?

Como meu roteador resolve um URL como http://router.asus.com/ para seu endereço IP?

Normalmente eu me conecto ao meu roteador pelo endereço IP 192.168.1.1. No entanto, também consigo me conectar a ele na URL router.asus.com. Meu computador não tem conexão com a Internet. Como é que isso funciona?

Responder1

Seu roteador possui seu próprio servidor DNS. Quando você o usa on-line, ele encaminhará para o DNS do seu ISP, mas também adicionará sua própria entrada para router.asus.comapontar para si mesmo.

Como você provavelmente está usando DHCP, ele atribuirá automaticamente suas máquinas para usar seu próprio DNS. Você pode testar isso mudando para um servidor DNS atribuído manualmente (8.8.8.8, por exemplo), liberando seu DNS e tentando o mesmo URL.

Observe que visitar router.asus.comminha conexão me leva a um site hospedado na Amazon que parece tentar procurar um roteador compatível em minha rede.

Captura de tela do site em router.asus.com

Parece que ele usa o seguinte JQuery para tentar obter um arquivo JSON específico de um nome de máquina na rede:

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

Você pode ver os nomes que ele tenta acessar na captura de tela. Literalmente, apenas faz um loop e, se for atingido, será redirecionado para o que encontrou.

Responder2

Eu pessoalmente não possuo um roteador Asus, e a resposta de Jonno é muito boa, mas há outra maneira possível de os roteadores fazerem isso (mesmo que não seja usado pelo seu roteador específico).

Como essa página não é servida por HTTPS, é perfeitamente possível para o roteador simplesmente interceptar a solicitação HTTP e respondê-la sem falar com nenhum servidor externo. Roteadores AsusForam conhecidospara redirecionar páginas em algumas circunstâncias. Observe que se o redirecionamento ocorrer mesmo sem conexão com a Internet (ou seja, sem DNS externo), ele deve ser causado pelo DNS do seu roteador; não há razão para que ambos não possam estar acontecendo, no entanto.

Meu roteador doméstico Netgear, por exemplo, pode bloquear domínios e palavras-chave (servindo uma página “bloqueado pelo firewall Netgear”) mesmo se eu não estiver usando seu DNS. Certifiquei-me de que não está interceptando as solicitações de DNS; o nome é resolvido corretamente, mas acessar a página em um navegador da web resulta na página "bloqueada".

Você pode testar essa teoria configurando seus servidores DNS para, digamos, o do Google ( 8.8.8.8) e executando ping no nome de domínio redirecionado.

Responder3

Só queria acrescentar à resposta de Jonnos que

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

é como meu (e provavelmente) seu roteador faz isso. Seu roteador provavelmente está executando o asuswrt com dnsmasq. Você pode ter acesso ao shell (pelo menos via telnet) e procurar por si mesmo.

informação relacionada