跨多個網路伺服器的所有虛擬主機的清單

跨多個網路伺服器的所有虛擬主機的清單

我的任務是建立在我們的基礎架構上託管的所有網站/網頁應用程式的清單(在大約 120 個 Linux 虛擬機器上託管的數千個網站)。大多數網站由 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

相關內容