这不是技术问题或问题,而只是我面临的一个编程场景,需要解决这个问题并尝试解决这个问题,因此需要有关此场景的一些提示。
我们的团队必须在云(AWS)上管理大量其他用户的 Linux 机器。每台机器要么是数据库服务器,要么是应用程序服务器,要么是 Web 服务器。有什么方法可以以编程方式检测到这一点。
这些用户不属于我们团队或公司的一部分。这些只是最终用户,我们只能通过获得他们的许可来控制他们的 Linux 服务器。所以,问题在于我们如何检测他们的机器。
例如,我们如何在特定的 Linux 机器中搜索,以便我们能够识别它是数据库服务器还是应用程序服务器。
有什么方法可以识别linux机器的类型吗?
例如:
- 有些开发者在云端创建一些linux机器,只安装mysql、oracle或者其他一些相关的数据库软件,从而成为数据库linux服务器,只处理数据库操作。
- 并且,一些开发人员创建了一些Linux机器,他们将在其中安装apache或其他一些与Web服务器相关的软件,使其成为Web服务器并且仅执行与Web相关的任务,并且他们无法处理或接受任何类型的数据库操作。
提前致谢。
答案1
您可以使用 nmap 扫描开放端口上的这些节点。如果这些服务使用标准应用程序端口,那么它应该是可靠的。
有一个 nmap 使用的简单示例:
nmap -sS -O server.mydomain
...
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
514/tcp open shell
2301/tcp open compaqdiag
2381/tcp open compaq-https
...
谷歌以获取您感兴趣的服务使用的更多示例和端口。