Як мій маршрутизатор вирішує URL-адресу, наприклад http://router.asus.com/, на свою IP-адресу?


38

Зазвичай я підключаюсь до свого маршрутизатора за його IP-адресою 192.168.1.1. Однак я також можу підключитися до нього за URL-адресою router.asus.com. Мій комп'ютер не має підключення до Інтернету. Як це працює?


6
Дозвіл імені публічного домену приватним ІС видається поганою ідеєю, BTW.
Дмитро Григор’єв

@DmitryGrigoryev router.asus.comперенаправляє з коробки до 192.168.1.1та був включений Asus. Він не відповідає моєму IP-маршрутизатору за межами моєї локальної мережі.
Райан Р

Відповіді:


63

Ваш маршрутизатор має власний DNS-сервер. Коли ви користуєтесь ним в Інтернеті, він пересилатиме до DNS вашого провайдера, але також додає власний запис, router.asus.comщоб вказати на себе.

Оскільки ви, швидше за все, використовуєте DHCP, він автоматично призначить вашим машинам використовувати власний DNS. Ви можете перевірити це, перейшовши на призначений вручну DNS-сервер (наприклад, 8.8.8.8), очистіть DNS і спробуйте ту ж URL-адресу.

Зауважте, що відвідування router.asus.comз моїм зв’язком переносить мене на сайт, розміщений з Amazon, який, як видається, намагається сканувати сумісний маршрутизатор у моїй мережі.

Знімок екрана сайту на router.asus.com

Схоже, він використовує наступний JQuery, щоб спробувати схопити певний файл JSON з імені машини в мережі:

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

Імена, до яких він намагається отримати доступ, можна побачити на скріншоті. Буквально просто проходить цикл, і якщо він потрапить, він перенаправить на те, що знайшов.


1
Цікаво. Чи можете ви розширити нотатку, яку ви зробили. Як веб-сайт, розміщений на Amazon, має доступ до локальної мережі за брандмауером для пошуку маршрутизатора? (Це для тих, хто не має сумісного маршрутизатора Asus або змінив DNS на маршрутизаторі Asus. Я вважаю,
Ryan R

@RyanR Додано :)
Jonno

13
Сервер насправді не сканує вашу мережу. Він обслуговує веб-сторінку з Javascript. У вашому браузері працює JavaScript. Тож саме ваш браузер виконує "сканування". У них немає спеціального доступу до вашої мережі, спеціальний доступ має ваш браузер.
Анер

6
Налаштування власного DNS не завжди допомагає обійти DNS-сервер маршрутизатора. У мене є принаймні один маршрутизатор, який перехоплює вихідні запити DNS на інші сервери DNS і сам відповідає на них.
втручатися

.localце те, що використовується для Bonjour / Zeroconf.
Thorbjørn Ravn Andersen

7

Я особисто не володію маршрутизатором Asus, і відповідь Jonno дуже хороша, але маршрутизатори можуть зробити ще один спосіб (навіть якщо він не використовується вашим конкретним).

Оскільки ця сторінка не подається через HTTPS, маршрутизатор цілком може просто перехопити HTTP-запит і відповісти на нього, не розмовляючи з ним жодним зовнішнім сервером. Як відомо, маршрутизатори Asus за певних обставин переспрямовують сторінки. Зауважте, що якщо перенаправлення відбувається навіть без підключення до Інтернету (тобто без зовнішнього DNS), це повинно бути викликано DNS вашого маршрутизатора; немає жодної причини, що обидва не могли продовжуватися.

Наприклад, мій домашній маршрутизатор Netgear може блокувати домени та ключові слова (розміщення сторінки "заблокований брандмауером Netgear"), навіть якщо я не використовую його DNS. Я переконався, що це не перехоплює запити DNS; назва вирішується правильно, але перехід на сторінку у веб-браузері призводить до "заблокованої" сторінки.

Ви можете перевірити цю теорію, встановивши ваші DNS-сервери на, скажімо, Google ( 8.8.8.8) і вставте пінг перенаправленого доменного імені.


Дуже хороший момент. Це означає, що ви не можете блокувати домени HTTPS за допомогою брандмауера Netgear, або він має можливість блокувати використання DNS, коли ви його використовуєте, і запит перехоплюється як резервний?
Jonno

2
@Jonno Проблема полягає в тому, що ви не можете блокувати домени HTTPS самостійно. Ви можете заблокувати IP або діапазон IP-адрес, і ви можете змусити сервер DNS сказати вам, що IP-адресу відрізняється (і тому "заблокуйте" його, оскільки він ніколи не знайде правильне призначення), але оскільки маршрутизатор не може прочитати HTTPS-пакети Вашим єдиним варіантом буде 1. сервер невідповідного сертифіката, що дає сторінку помилок "непідтверджене" для кожного веб-сайту або 2. блок блоку 443 (https) разом. Або є шалені варіанти і мають свої проблеми.
h2ooooooo

1
@ h2ooooooo Я вважаю, що точніше сказати, що щось / хтось у привілейованому положенні у вашій мережі не може заблокувати сторінку HTTPS. Хоча без довіреного CA, MITM не може відрізнити інформацію про трафік HTTPS більш деталізовану, ніж адреса сервера / IP, цьому запиту, ймовірно, передує звичайний текстовий запит DNS, який вказує домен. Змінена або негативна відповідь DNS напевно може запобігти трафіку до певного домену. Якщо домен дійсно ображає, створіть порожню авторитетну зону для нього у своїй DNS.
Т.е.

@tjd Ви можете абсолютно просто створити помилкову відповідь DNS, якщо ви заблокували будь-які не авторизовані сервери dns з хост-машин (а ще краще; не дозволяйте людям змінювати їх на машинах компанії).
h2ooooooo

1

Просто хотів додати до відповіді Йоннос

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

так це робить мій (і, швидше за все) ваш маршрутизатор. Ваш маршрутизатор, ймовірно, працює asuswrt з dnsmasq. Ви можете мати доступ до оболонки (принаймні через telnet) і шукати себе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.