W jaki sposób mój router rozpoznaje adres URL taki jak http://router.asus.com/ na swój adres IP?

38

Zazwyczaj łączę się z routerem za pomocą jego adresu IP 192.168.1.1. Jestem jednak w stanie połączyć się z nim pod adresem URL router.asus.com. Mój komputer nie ma połączenia z Internetem. Jak to działa?

Ryan R.
źródło
6
Rozwiązanie publicznej nazwy domeny na prywatny adres IP wydaje się złym pomysłem, BTW.
Dmitrij Grigoryev
@DmitryGrigoryev router.asus.comprzekierowuje po wyjęciu z pudełka 192.168.1.1i został uwzględniony przez Asusa. Nie rozpoznaje adresu IP routera spoza mojej sieci lokalnej.
Ryan R

Odpowiedzi:

63

Twój router ma własny serwer DNS. Gdy użyjesz go w trybie online, przekieruje on do DNS twojego ISP, ale dodał również swój własny wpis w router.asus.comcelu wskazania siebie.

Ponieważ prawdopodobnie używasz DHCP, automatycznie przypisuje twoje maszyny do korzystania z własnego DNS. Możesz to przetestować, przechodząc na ręcznie przypisany serwer DNS (na przykład 8.8.8.8), opróżnij DNS, a następnie wypróbuj ten sam adres URL.

Pamiętaj, że odwiedziny router.asus.comz moim połączeniem prowadzą do strony hostowanej przez Amazon, która wydaje się próbować wyszukać kompatybilny router w mojej sieci.

Zrzut ekranu witryny na route.asus.com

Wygląda na to, że używa następującego JQuery do próby pobrania określonego pliku JSON z nazwy komputera w sieci:

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

Możesz zobaczyć nazwy, które próbuje uzyskać dostęp na zrzucie ekranu. Dosłownie po prostu zapętla się, a jeśli trafi, przekieruje do tego, co znalazł.

Jonno
źródło
1
Ciekawy. Czy możesz rozwinąć notatkę, którą zrobiłeś. W jaki sposób witryna hostowana w Amazon ma dostęp do sieci lokalnej za zaporą sieciową w celu wyszukania routera? (To jest dla tych, którzy nie mają kompatybilnego routera Asus lub zmienili DNS na swoim routerze Asus, jak sądzę)
Ryan R
@RyanR Dodano :)
Jonno
13
Serwer tak naprawdę nie skanuje twojej sieci. Obsługuje stronę internetową z Javascriptem. Twoja przeglądarka obsługuje javascript. Więc Twoja przeglądarka wykonuje „skanowanie”. Nie mają specjalnego dostępu do twojej sieci, to Twoja przeglądarka ma specjalny dostęp.
Aner
6
Ustawienie własnego DNS nie zawsze działa w celu obejścia serwera DNS routera. Posiadam przynajmniej jeden router, który przechwytuje wychodzące żądania DNS do innych serwerów DNS i sam na nie odpowiada.
zakłócają
.localjest tym, co stosuje się w Bonjour / Zeroconf.
Thorbjørn Ravn Andersen
7

Osobiście nie posiadam routera Asus, a odpowiedź Jonno jest bardzo dobra, ale istnieje inny możliwy sposób, aby routery to osiągnęły (nawet jeśli nie jest używany przez twój konkretny).

Ponieważ ta strona nie jest obsługiwana przez HTTPS, router może po prostu przechwycić żądanie HTTP i odpowiedzieć na nie, nie rozmawiając z żadnym zewnętrznym serwerem. Routery Asus były znane do przekierowania stron w pewnych okolicznościach. Pamiętaj, że jeśli przekierowanie nastąpi nawet bez połączenia z Internetem (tj. Bez zewnętrznego DNS), musi być spowodowane przez DNS routera; nie ma jednak powodu, dla którego oba nie mogłyby się odbyć.

Na przykład mój router domowy Netgear może blokować domeny i słowa kluczowe (obsługujące stronę „blokowaną przez zaporę Netgear”), nawet jeśli nie używam jego DNS. Upewniłem się, że nie przechwytuje żądań DNS; nazwa została rozwiązana poprawnie, ale przejście do strony w przeglądarce powoduje „zablokowaną” stronę.

Możesz przetestować tę teorię, ustawiając na serwerach DNS, powiedzmy, Google ( 8.8.8.8) i wysyłając ping do przekierowanej nazwy domeny.

Ben N.
źródło
Bardzo dobra uwaga. Czy to oznacza, że ​​nie można blokować domen HTTPS za pomocą zapory sieciowej Netgear, czy może blokować korzystanie z DNS, gdy go używasz, a żądanie zostało przechwycone jako awaryjne?
Jonno
2
@Jonno Problem polega na tym, że nie można blokować domen HTTPS per se. Możesz zablokować adres IP lub zakres adresów IP, a serwer DNS może powiedzieć, że adres IP jest inny (a zatem „zablokować”, ponieważ nigdy nie znajdzie właściwego miejsca docelowego), ale ponieważ router nie może odczytać Pakiety HTTPS Twoją jedyną opcją byłoby 1. serwer niepoprawny certyfikat dający stronę błędu „niezaufane połączenie” dla każdej strony internetowej lub 2. zablokowanie portu 443 (https) razem. Albo są kiepskimi opcjami i mają swoje własne problemy.
h2ooooooo
1
@ h2ooooooo Uważam, że dokładniej jest powiedzieć, że coś / ktoś w uprzywilejowanej pozycji w sieci nie może zablokować strony HTTPS. Choć bez zaufany urząd certyfikacji, o MITM nie można odróżnić od informacji o ruchu HTTPS bardziej szczegółowym niż adres serwera / IP, żądanie jest prawdopodobne, aby być poprzedzone tekstowy żądanie DNS, który dokłada określić domenę. Zmodyfikowana lub negatywna odpowiedź DNS może zdecydowanie uniemożliwić ruch do określonej domeny. Jeśli domena naprawdę obraża, utwórz dla niej pustą autorytatywną strefę w DNS.
tjd
@tjd Możesz absolutnie po prostu utworzyć fałszywą odpowiedź DNS, pod warunkiem że zablokujesz nieautoryzowane serwery dns na komputerach hosta (a nawet lepiej; nie zezwalaj ludziom na ich zmianę na komputerach firmowych).
h2ooooooo
1

Chciałem tylko dodać do Jonnos odpowiedź na to pytanie

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

tak właśnie robi mój (i najprawdopodobniej) twój router. Twój router prawdopodobnie działa asuswrt z dnsmasq. Możesz mieć dostęp do powłoki (przynajmniej przez telnet) i szukać siebie.

ElDiabolo
źródło