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

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

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

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

我知道我可以 cat /etc/hosts 并使用 dig 命令,但还有其他方法可以统计我有 shell 访问权限的给定服务器上有多少个域吗?

答案1

此答案基于您与 @SteffenUllrich 在评论中的对话。发布此答案后,我还根据与 @SteffenUllrich 的对话编辑了此答案。

您可以通过将浏览器指向以下 URL(其中 xyz0 是您的服务器的 IP 地址的前三个八位字节)来确定一些(但可能不是全部)与您托管在同一服务器上的站点:

https://bgp.he.net/net/x.y.z.0/24#_dns

然后,单击 DNS 选项卡。它应该显示一个长表,第一列中显示与您的服务器位于同一 /24 块中的 IP 地址。在列表中找到您的服务器的 IP。然后,在第三列中,它应该显示指向您服务器 IP 地址的其他域中的一些(但可能不是全部)A 记录。

当然,正如 Steffen 指出的那样,这并不意味着服务器实际上为每个 A 记录托管一个网站 - 它只是意味着这些 A 记录指向您服务器的 IP 地址。任何人都可以为他们控制的域创建 A 记录,并将其指向他们想要的任何 IP 地址。

因此,您的下一步将是检查(手动使用您的 Web 浏览器,或以某种工具的自动方式)Web 服务器是否对列表中的每个 A 记录返回您认为对托管站点有效的响应。

该方法可用于确定一些与您在同一台服务器上托管的网站。但是,正如您在回答后的评论中所看到的,有几个注意事项可能会导致使用此方法无法找到您服务器上托管的一些网站。

相关内容