查找给定域的每个页面

时间:2011-08-20 17:32:12

标签: ruby dns

Ruby是否有任何工具/库,当给定域名时,会返回该域名中所有页面的列表?

2 个答案:

答案 0 :(得分:1)

您可以使用Anemone,它是一个Ruby Web蜘蛛框架。它需要Nokogiri作为依赖,因为它需要解析(X)HTML。

答案 1 :(得分:0)

如果网站不是静态HTML页面的集合,则枚举是一项艰巨的任务。一旦进入任何类型的服务器端脚本,返回的“页面”可能在很大程度上依赖于会话的状态。一个明显的例子是只有在您登录后才能访问的页面或资源。因此,许多自动枚举工具(通常是Web应用程序安全审计程序的一部分)会弄错并错过网站的大部分内容。我的观点是,枚举通常不仅仅是运行工具。

好消息是,编写自己的枚举器非常容易,因为你可以通过在网站上闲逛来获得一些知识。我使用Mechanize写了类似的东西,在您请求页面时可以轻松跟踪您的历史记录。所以这是一个非常简单的任务,让Mechanize设置你需要的服务器端状态(即登录),然后访问你找到的每个链接。只需请求首页或您需要的任何“列表”页面,并保留一系列链接。迭代此链接列表,如果链接不在历史记录中,请转到该链接并在那个页面上存储链接列表。重复,直到链接列表为空。

但就像我说的,这一切都取决于服务器端发生了什么。可能存在与您无法链接或无法访问的页面,您将无法通过这种方式发现这些页面。