检查服务器上托管了多少个域(服务器端)

检查服务器上托管了多少个域(服务器端)

如何从服务器端/使用 bash shell 检查服务器上托管了多少个域?

目标是发现服务器上托管有多少通过 http/https 公开的域。 (可远程连接)

服务器正在运行 drupal 应用程序。

答案1

想必您的意图是对所有网络接口进行反向查找。请注意,通过反向查找,您可能会触发安全警报,因为它看起来像是扫描可用资源。基本上,您将枚举所有网络设备、获取它们的 IP 并在(出站)DNS 服务的帮助下进行反向查找。

第一部分很简单:

ip addr

这列出了所有网络设备及其 IP 地址。有了这个,您可以使用您最喜欢的 DNS 查询工具进行反向查找,例如 dig、nslookup...

您的问题是所有域相当笼统,也许你的意思不是领域如 URL 的域部分。服务器可以公开大量基于 HTTP 的应用程序,并根据 HTTP 请求的主机参数分配给它们。该服务器也可能是虚拟服务器。

为了安全起见,仅检查服务器上的配置文件,也许使用findgrep获取全部配置文件。 Apache Web Server 和 Nginx 没有太大区别,并且经常使用名为 http.conf 的配置(导入许多其他配置)。它们通常可以在 /etc/apache 或类似文件中找到。

相关内容