2015-10-13 73 views
0

對於給定的域名,我要確定哪個水平是非常高層的域擁有者可以控制(域名擁有者都無法在這個級別分辨率的變化)如何確定域所有者可以控制給定域名的最高級別?

如:爲www.abc.yahoo.com,我想yahoo.com作爲結果)

我知道有一個頂級域名列表中http://www.iana.org/domains/root/db,但有一些例外:net.innet.cn

有沒有什麼地方我可以得到這些註冊的域名列表?

在此先感謝。

+0

你的意思是由[CentralNic](https://www.centralnic.com/)處理的域名? –

+0

謝謝@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

+0

您是否考慮過使用[whois](https://tools.ietf.org/html/rfc3912)? –

回答

0

大多數情況下,一個簡單的方法是發送一個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 

這適用於正確設置區域。如果你還想覆蓋破碎的設置,事情變得簡單得多。

+0

這似乎在大多數情況下工作。但即使設置了正確的區域,也至少有一個例外:當存在CNAME記錄並且CNAME目標位於不同的tld下時,我認爲此方法將失敗。一個例子:「www.baidu.com」被命名爲「www.a.shifen.com.」。 – user2828102

+0

你得到了CNAME的SOA,是的。嗯。從技術上講,這是有道理的。這也是正確的,因爲它指出誰實際上控制了名爲「www.baidu.com」的內容。 –

相關問題