2010-05-07 18 views
1

發現以下幾點:http://mike.murraynet.net/2009/08/23/parsing-the-verisign-zone-file-with-os-x/UNIX腳本來分析區域文件(這是最好的代碼?)

UNIX的主人可以看看它,看看它的最好的方式聚集在唯一domainsnames區域文件?

對於.NET域: grep「^ [a-zA-Z0-9 - ] + NS。 「net.zone | sed」s/NS。 //「| uniq >> netdomains.txt

對於.COM域名: grep」^ [a-zA-Z0-9 - ] + NS。 「com.zone | sed」s/NS。 //「| uniq >> comdomains.txt

對於.EDU域: grep」^ [a-zA-Z0-9 - ] + NS。 「edu.zone | sed」s/NS。 //「| uniq >> edudomains.txt

回答

0

這是一個較老的例子。我與我的相比,格式仍然相同。

http://www.adspeed.org/2006/04/parsing-verisign-comnet-zone-files.html

;File start: 95720 
; The use of the Data contained in Verisign Inc.' aggregated 
; .com, and .net top-level domain zone files (including the checksum 
; files) is subject to the restrictions described in the access Agreement 
; with Verisign Inc. 

$ORIGIN EDU. 
@ IN SOA  L3.NSTLD.COM. NSTLD.VERISIGN-GRS.COM. ( 
            2006040800 ;serial 
            1800 ;refresh every 30 min 
            900 ;retry every 15 min  
            604800 ;expire after a week 
            86400 ;minimum of a day 
           ) 
$TTL 518400 
NS L3.NSTLD.COM. 
NS D3.NSTLD.COM. 
NS A3.NSTLD.COM. 
NS E3.NSTLD.COM. 
NS C3.NSTLD.COM. 
NS G3.NSTLD.COM. 
NS M3.NSTLD.COM. 
NS H3.NSTLD.COM. 
L3.NSTLD.COM. A 192.41.162.32 
D3.NSTLD.COM. A 192.31.80.32 
A3.NSTLD.COM. A 192.5.6.32 
E3.NSTLD.COM. A 192.12.94.32 
C3.NSTLD.COM. A 192.26.92.32 
G3.NSTLD.COM. A 192.42.93.32 
M3.NSTLD.COM. A 192.55.83.32 
H3.NSTLD.COM. A 192.54.112.32 
$TTL 172800 
22CF NS DNS1.NAME-SERVICES.COM. 
22CF NS DNS2.NAME-SERVICES.COM. 
22CF NS DNS3.NAME-SERVICES.COM. 
TEST NS NS1.TEST 
...... 

這是一個new.zone文件例子。我添加了底部的名稱,以便您可以看到nameserver是否也是.net時它是如何保留的。

3

就個人而言,我會使用named-checkzone進一步處理之前canonicalise區域文件的格式:

% named-checkzone -i none -s full -D com. com.zone | \ 
    perl -ane 'print $F[0]."\n" if $F[3] eq "NS"' | \ 
    uniq 

命令行固然較長,但它避免了潛在的脆弱的正則表達式匹配的需要。 named-checkconf輸出保證在第四個字段中具有資源記錄類型(NS),並且在第一個字段中保證整個域名。

FWIW,named-checkzone也排序區域文件輸出,這確保uniq正常工作。

相關問題