對於給定的域名,我要確定哪個水平是非常高層的域擁有者可以控制(域名擁有者都無法在這個級別分辨率的變化)如何確定域所有者可以控制給定域名的最高級別?
如:爲www.abc.yahoo.com
,我想yahoo.com
作爲結果)
我知道有一個頂級域名列表中http://www.iana.org/domains/root/db,但有一些例外:net.in
,net.cn
等
有沒有什麼地方我可以得到這些註冊的域名列表?
在此先感謝。
對於給定的域名,我要確定哪個水平是非常高層的域擁有者可以控制(域名擁有者都無法在這個級別分辨率的變化)如何確定域所有者可以控制給定域名的最高級別?
如:爲www.abc.yahoo.com
,我想yahoo.com
作爲結果)
我知道有一個頂級域名列表中http://www.iana.org/domains/root/db,但有一些例外:net.in
,net.cn
等
有沒有什麼地方我可以得到這些註冊的域名列表?
在此先感謝。
大多數情況下,一個簡單的方法是發送一個SOA
查詢您的名字並查看響應。如果名稱是區域頂點,則會在響應的Answer
部分中獲得SOA
記錄。如果不是,您將在Authority
部分獲得SOA
記錄,該記錄的所有者名稱是您詢問的名稱的區域頂點。下面是後一種情況的示例:
Kadath:~$ dig soa www.abc.yahoo.com @8.8.8.8
; <<>> DiG 9.10.3 <<>> soa www.abc.yahoo.com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 44025
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.abc.yahoo.com. IN SOA
;; AUTHORITY SECTION:
yahoo.com. 0 IN SOA ns1.yahoo.com. hostmaster.yahoo-inc.com. 2015101301 3600 300 1814400 600
;; Query time: 75 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Oct 13 13:05:19 CEST 2015
;; MSG SIZE rcvd: 107
這適用於正確設置區域。如果你還想覆蓋破碎的設置,事情變得簡單得多。
這似乎在大多數情況下工作。但即使設置了正確的區域,也至少有一個例外:當存在CNAME記錄並且CNAME目標位於不同的tld下時,我認爲此方法將失敗。一個例子:「www.baidu.com」被命名爲「www.a.shifen.com.」。 – user2828102
你得到了CNAME的SOA,是的。嗯。從技術上講,這是有道理的。這也是正確的,因爲它指出誰實際上控制了名爲「www.baidu.com」的內容。 –
你的意思是由[CentralNic](https://www.centralnic.com/)處理的域名? –
謝謝@rowland,也許我找到了正確的技術術語:SLD/ccSLD,[ccSLD-godaddy](https://www.godaddy.com/help/what-are-second-level-domains-sld-and- country-code-second-level-domains-ccsld-335)[SLD-wiki](https://en.wikipedia.org/wiki/Second-level_domain)也許我只需要這些SLD的列表?我認爲並非所有這些都由CentralNic處理,是嗎?因爲net.cn似乎沒有在這個網站上列出。 – user2828102
您是否考慮過使用[whois](https://tools.ietf.org/html/rfc3912)? –