如何清点一个Linux服务器的软件/angular色是否“为客户提供服务”?

有什么方法可以确定Linux服务器上运行的“客户机/服务器”进程/应用程序,以了解服务器的angular色是什么?

我相信它可能会因不同的Linux版本而有所不同,有些可能会比其他版本更容易一些。

作为pipe理员,最近我在收购期间inheritance了一些Linux服务器。 我可以告诉他们正在运行SAMBA,但除此之外,我不知道在哪里寻找可以提供给各种客户端的软件。 在Windows世界中,我可以通过正在运行的服务,安装的软件,打开的端口等等来判断。在Linux世界中有没有一种类似的方法可以帮助像我这样的人来确定所有的服务器从客户端/服务器angular色的angular度?

当然,有一些好的方法可以开始。

一个是查看哪些端口正在监听并打开,正如你所提到的。 为此,我build议以下一项或多项:

lsof -i netstat -lnp nmap localhost 

所有提供大致相同的信息。

您也可以参考本地防火墙configuration中的线索。 对于那个看:

 iptables -L -n -v 

您还可以检查谁已经login系统并与这些用户交谈。 要做到这一点,请检查:

 last who w finger 

您可能会查询本地软件包pipe理系统以确定安装了哪些软件包。 例如,在RedHat风格的RPM系统上,您可以运行:

 rpm -qa --last 

我build议咨询任何现有的文档。 幸运的是,以前的pipe理员已经把东西放在一起。

在Windows世界中,我可以通过正在运行的服务来判断,

在Linux中,您也可以通过执行ps -ef | less来执行此操作 ps -ef | less

安装的软件,

取决于您的发行版:基于Red Hat的可以使用rpm -qa | less进行检查 rpm -qa | less或者dpkg -l | less 在Debian基础上dpkg -l | less

打开的端口可以列出:

 # netstat --protocol=ip -nlp