
通常我會透過 IP 位址連接到路由器192.168.1.1
。不過,我也可以透過 URL 連接到它router.asus.com
。我的電腦沒有連接到網路。這是如何運作的?
答案1
您的路由器有自己的 DNS 伺服器。當您在線上使用它時,它會轉送到您的 ISP 的 DNS,但它也會新增自己的項目來router.asus.com
指向其自身。
由於您可能使用 DHCP,因此它會自動分配您的電腦使用其自己的 DNS。您可以透過變更為手動指派的 DNS 伺服器(例如 8.8.8.8)來測試這一點,刷新您的 DNS,然後嘗試相同的 URL。
請注意,透過我的連線存取router.asus.com
會將我帶到由 Amazon 託管的網站,該網站似乎嘗試掃描我的網路上的相容路由器。
看起來它使用以下 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();
}
});
您可以在螢幕截圖中看到它嘗試訪問的名稱。從字面上看,只是循環,如果它被命中,它會重定向到它找到的內容。
答案2
我個人沒有華碩路由器,Jonno 的答案非常好,但是路由器還有另一種可能的方法來完成此任務(即使您的特定路由器沒有使用它)。
由於該頁面不是透過 HTTPS 提供的,因此路由器完全有可能簡單地攔截 HTTP 請求並應答它,而無需與任何外部伺服器交談。華碩路由器已被知曉在某些情況下重定向頁面。請注意,如果即使沒有網路連線(即沒有外部 DNS)也發生重定向,則一定是由路由器的 DNS 引起的;不過,沒有理由兩者不能繼續進行。
例如,我的 Netgear 家用路由器可以阻止網域和關鍵字(提供「被 Netgear 防火牆封鎖」頁面),即使我沒有使用其 DNS。我確保它沒有攔截 DNS 請求;名稱已正確解析,但在網頁瀏覽器中造訪該頁面會導致「被封鎖」頁面。
您可以透過將 DNS 伺服器設定為 Google 的 ( 8.8.8.8
) 並 ping 重定向的網域名稱來測試這個理論。
答案3
只是想添加到 Jonnos 的答案中
admin@asus-rt-n18u:/tmp/home/root# grep asus.com /etc/*
/etc/hosts:192.168.201.5 router.asus.com
我的(最有可能的)你的路由器就是這樣做的。您的路由器可能正在運行帶有 dnsmasq 的 asuswrt。您可以透過 shell 存取(至少透過 telnet)並自行查找。