一、DNS介紹DNS域名系統(tǒng)是互聯(lián)網(wǎng)關(guān)鍵的基礎(chǔ)設(shè)施之一,它是一個(gè)將域名與IP地址互相映射的全球分布數(shù)據(jù)庫。對(duì)于惡意DNS的過濾、檢測(cè)惡意網(wǎng)站域名、僵尸網(wǎng)絡(luò)和網(wǎng)絡(luò)隱秘通道發(fā)現(xiàn)是安全防護(hù)設(shè)備中必不可少的一種手段。
二、原理RFC 1035規(guī)定了域名每個(gè)標(biāo)簽不超過63字節(jié),域名總長(zhǎng)不超過255字節(jié)??梢院腥我?bit值,通常情況下域名標(biāo)簽由英文字母、數(shù)字和連字符構(gòu)成。RFC 2181進(jìn)一步明確了,DNS本身不對(duì)域名所含字符內(nèi)容進(jìn)行限制。一些文獻(xiàn)中驗(yàn)證了ISC BIND等常用DNS服務(wù)器軟件對(duì)二進(jìn)制域名的支持。
盡管在RFC1 123 之中對(duì)于DNS軟件支持無法轉(zhuǎn)換為可打印格式的資源記錄,內(nèi)部存儲(chǔ)不能使用文本格式。由于Letter Digit Hyphen規(guī)則的域名含有可打印字符,如此產(chǎn)生了兩種問題,其一為大多數(shù)程序?qū)τ谟蛎奶幚聿捎米址瘮?shù),可能會(huì)對(duì)于某些特定結(jié)束字符進(jìn)行處理(例如C語言中對(duì)于