跨多个 Web 服务器的所有虚拟主机的清单

跨多个 Web 服务器的所有虚拟主机的清单

我的任务是创建我们基础设施上托管的所有网站/网络应用程序的清单(大约 120 台 Linux VM 上托管了数千个网站)。大多数网站由 Apache(httpd 2.4)提供服务,但也有 Apache 2.2、Nginx、Tomcat 和其他网络服务器使用。由于这是一项艰巨的任务,我不想花费不必要的时间。所以我想知道是否有人可以向我指出现有的脚本、工具、Ansible 角色或类似的东西,它们可以解析网络服务器配置以收集所有配置的虚拟主机。我知道渗透测试人员使用 DirBuster 或 VHostScan 等模糊测试工具,但由于我拥有这些网络服务器的 shell 访问权限,因此这似乎是低效(并且可能不准确)的方法。

答案1

对于 Apache httpd,您可以运行以下命令:

httpd -S

这显示了从配置文件解析的设置(当前仅显示虚拟主机设置,但这正是您所需要的)。

返回的内容大致如下:

VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server www.example.com (/etc/httpd/conf.d/www.example.com.conf:19)
         port 80 namevhost www.example.com (/etc/httpd/conf.d/www.example.com.conf:19)
                 alias example.com
                 alias server.example.com
         port 80 namevhost www.example.co.uk(/etc/httpd/conf.d/www.example.co.uk.conf:1)
                 alias example.co.uk

相关内容