瀏覽器如何解析 .ph 或 .ws 等未註冊域名?
如果我們訪問一個未註冊的域,例如http://no-domain-here.ph/,我們會從 ph 註冊處獲得一個網頁
但是,此域沒有任何關聯的 ns 記錄。它是如何工作的?
這取決於。
這在很大程度上取決於您的瀏覽器使用的是哪個遞歸名稱伺服器,因為它可能會撒謊。此外,如今越來越多的瀏覽器(如 Firefox 或 Google Chrome)能夠使用 DoH(基於 HTTPS 的 DNS),因此任何外部伺服器都可以進行 DNS 解析
因此,如果域不存在,您使用的任何 DNS 解析器都可能對您撒謊,並以您的瀏覽器將被引導通過某個特定頁面的方式進行響應。瀏覽器中的各種擴展或配置項也可以獲得相同的行為。
但是對於您的具體範例,它之所以有效,是因為 .PH 的系統資料庫在其區域中有一個萬用字元。
您可以輕鬆檢查它:
$ dig ph. NS +short 1.ns.ph. ns2.cuhk.edu.hk. ph.communitydns.net. ns4.apnic.net. $ dig \*.ph A @1.ns.ph. +noall +ans +nottlunits *.ph. 300 IN A 45.79.222.138
這個萬用字元的意思是,無論你查詢哪個名字,如果沒有其他記錄(真實的註冊名),你都會得到這個IP地址。請注意,萬用字元僅適用於
A
:$ dig \*.ph AAAA @1.ns.ph. +noall +ans +nottlunits (no data) $ dig \*.ph NS @1.ns.ph. +noall +ans +nottlunits (no data)
這種情況僅適用於 ccTLD(但很少有人這樣做),因為在過去臭名昭著的 Verisign SiteFinder“實驗”之後,ICANN 規則在 gTLD 中禁止這種情況。
當這種情況發生時,它不僅會影響瀏覽器和 HTTP 流量,還會影響一切。這是問題的根源:假設有一個有效的
example.ph
域,您必鬚髮送高度敏感的資訊(而不是加密消息),medical@example.ph
但是您打錯字並發送到medical@exanple.ph
該exanple.ph
域不存在的地方……但是它將解析並且根據 SMTP 規則,即使沒有MX
記錄,消息也會被發送到exanple.ph
解析到的 IP 地址(萬用字元),然後取決於 MTA 是否正在那裡偵聽。
.ws
ccTLD(是的,它是一個國家/地區)具有相同類型的萬用字元:$ dig ws. NS +short ns5.dns.ws. us3.dns.ws. us4.dns.ws. a.dns.ws. ns2.dns.ws. s.dns.ws. $ dig @s.dns.ws \*.ws. A +noall +ans +nottlunits *.ws. 300 IN A 64.70.19.203