比如http://baidu.com 我要知道這個域名下有那些子域名


http://alexa.chinaz.com/ 輸入http://baidu.com,會查詢出有用戶訪問的所有子域名

通過Alexa和Google來搜索肯定不全面,考慮到每個域名都要正常解析才能被訪問到,所以查詢DNS記錄是最好的辦法。

搜索到了查詢DNS記錄的方法,通過域名的NS伺服器可以用"ls http://domain.com"的方式查詢所有域名相關記錄,但是可惜,現在的DNS伺服器大都禁用了這個功能以提高安全性。所以,除了窮舉沒別的辦法了。

參考:

  • http://huaidan.org/archives/1088.html
  • http://stackoverflow.com/questions/131989/how-do-i-get-a-list-of-all-subdomains-of-a-domain


本來可以使用nslookup 命令,但現在似乎大多網址都不支持

·····································我查了一下,總共430個二級域名參考地址:二級域名查詢,子域名查詢

利用公共資源

  • 搜索引擎(Google,Bing,Yahoo,Baidu等等)
  • https://virustotal.com/ - 在 Search 里輸入 「domain:target.com」,然後 virustotal 會提供一份子域名列表,和其他一些輔助信息以幫助你觀察子域名。
  • https://dnsdumpster.com - 名字說明了一切!你只需要輸入目標域名,然後點擊搜索按鈕,完事。
  • https://crt.sh/?q=%25target.com - 有些時候 SSL 中會包含很多有用的信息,使用這個網站搜索 "%target.com" 即可得到你所需要的子域名信息。
  • https://censys.io - 不是非常好,但有時也會提供一些有用的信息。
  • http://searchdns.netcraft.com/ - 另一種選擇。
  • https://www.shodan.io - 無需多言,不僅可以看到子域名信息,還會顯示對應的伺服器版本及其他更多數據。
  • 谷歌透明度報告 - 也是利用 SSL 證書發現子域名

利用工具爆破

國外的:

  • Subbrute - 快速枚舉 DNS 記錄和子域名。
  • dnscan - 使用 Python 寫的基於字典查詢 DNS 的子域名掃描器。
  • Nmap - 不僅僅只是埠掃描,可以使用腳本枚舉子域名。使用 --script dns-brute 腳本。
  • Recon-Ng - Recon-Ng 框架是一個 Web 信息收集工具,其包含暴力枚舉子域名的模塊。
  • DNSRecon - 一個強大的 DNS 枚舉腳本。
  • Fierce - 一個半輕量級的枚舉子域名掃描器。
  • Gobuster - Go 語言編寫的枚舉目錄和文件的工具,最新版支持 DNS 查詢。
  • DNSenum - 提供多線程和遞歸枚舉子域名。
  • AltDNS - 提供基於對已發現子域名進行置換的暴力枚舉方式。

國人的:

  • wydomain2 - 豬豬俠的作品,好用不解釋。
    • 從alexa、chaxunla、ilinks、google、sitedossier、netcraft、threatcrowd、threatminer爬取結果,再與openssl證書+字典窮舉結果合併,生成最終的子域名集合。
  • subDomainsBrute - 曾經烏雲核心白帽李劼傑的作品
  • Layer 子域名挖掘機 - 法師的作品,因為是用.NET寫的,所以基本只能在Win下使用,也是相當好用的。

原理

子域名發現的原理無非就是以下幾種:

  1. 利用現有搜索引擎:
  • 網頁搜索引擎(如:谷歌等)
  • 空間搜索引擎(如:Shodan等)
  • SSL證書(如:crt.sh等),這個主要針對大站
  • 進行爆破,而爆破又分為兩種:
  • 直接訪問子域名
  • 利用 DNS 請求
  • 其他泄露信息:
  • 如 crossdomain.xml 文件等
  • 爬蟲遞歸爬取等
  • DNS域傳送漏洞等

最後補一句,子域名發現很多的時候還是靠字典,如果你沒有很好的子域名字典,我這裡在放一個國外組織統計的最受歡迎子域名列表:bitquark-subdomains-popular

引自:

xiaixs Blog?

xiaix.me圖標

以http://dnsdumpster.com為例,搜索http://baidu.com,其所有對應的子域名和ip4地址對應表示為:

實在是在複雜了。

知乎為例子: http://dbsdumpster.com搜索出來的子域名和ip地址對應表示為:

所有的子域名:


樓上回答的基本都是基於搜索引擎掃描到的記錄,那麼肯定不全面的。

我覺得一定有一個全面的方法,因為我經常使用dnspod,如果添加一個新域名它會自動掃描這域名所有的A、CNAME、TEXT、MX等記錄,一個都不漏,不知道它是怎麼做到的。比如下圖我添加了福特公司官網,掃描顯示如下:

點確定後:

顯示的非常全面,一個都不少。不知道是怎麼做到的。


  1. 獲取到http://baidu.com的zone file在ns2/ns3/ns4/ns7/http://dns.baidu.com中
  2. no


http://i.links.cn/subdomain/


我寫了一個開源子域信息收集的項目OneForAll,嘗試運用更多更全的子域收集方式進行全面的子域信息收集,歡迎使用和吐槽~

OneForAll?

shmilylty.github.io


site、ALEXA排名都可以查詢到。
可以在搜索引擎中鍵入site:+域名比如,在百度中輸入site:http://baidu.com這樣所有http://baidu.com的二級域名就全列出來了。。。
直接在alexa官網也可以,http://www.alexa.com,不僅可以看到子域名,還可以看到這些子域名各自佔到總流量的百分比
二級域名查詢,子域名查詢

這個要求是有難度的,因為無論是alexa和站長工具都無法準確的列出二級域名,畢竟這牽涉到網站的管理。而且alexa列出的往往是流量達到一定程度的域名,流量小的久不會列出來。通過site和站長工具需要牽涉到百度演算法,有些時候百度演算法調整,有些數據也是不全的。

但如要要看百度的二級域名我倒覺得容易多,因為百度不是把自己的產品都整合在一個頁面嗎,二級域名估計都在裡面。而且百度的站流量都不錯,通過alexa可以查到大部分。

但對於一般站來說,我認為不好處理。
一方面可以用 SITE:http://BAIDU.COM的方面,另一方面如果這些二級域名都是放在同一個IP下,可以通過查這個IP綁定的域名找到。
Google Planner還有流量預估

二級域名掃描工具很多的


推薦閱讀:
相关文章