如何判断服务器实际做了什么?

如何判断服务器实际做了什么?

我手上有 3 个 Linux 机器,1 个装有 apache,另外 2 个据我所知功能不多。全部运行在 Redhat 上。

问题很简单:我怎么知道服务器实际上在做什么?创建者没有提供任何文档。

答案1

拔掉以太网电缆,看看谁会不高兴。

不过说真的,像这样的神秘机器会给团队带来很多精神负担,而且通常没有任何商业价值。和你的老板谈谈,如果没有人知道它是干什么的,也许没人关心它是干什么的。

答案2

对于 Serverfault 格式来说,这是一个相当广泛的问题,但这是一个很好的开始:

  • 检查正在运行的进程和计划在系统启动时运行的进程。
    • 检查每个的运行配置。
    • 查看任何已定义的数据目录。(也许有人安装了 MySQL 并打开了它,但没有数据库。)
  • 检查计划任务。
  • 检查日志查看;
    • 谁最近登录过(并询问他们)
    • 并了解正在运行的情况。

您没有提到版本,所以我省略了具体信息。

答案3

您可以采取一些措施来尝试确定系统上正在运行什么。

您可以检查服务器正在监听哪些端口,以了解端口上的内容。可以使用以下命令:

 [root@server ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             Stat    e       PID/Program name
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LIST    EN      1880/smbd
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LIST    EN      1911/nrpe
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LIST    EN      1759/sshd

从上面的示例输出可以看出,它向您显示了协议版本(tcp 或 udp)、正在监听的地址、打开的端口和正在监听的程序。

在上面的截断示例(服务器计算机)中,您可以看到 tcp 端口 139、5666 和 22 正在监听。这些端口分别解析为 samba、nrpe(Nagios 代理)和 ssh,当您检查监听该端口的程序时,可以确认这一点。

此外,您可以检查配置为在启动时启动的守护进程列表,为此,请运行: chkconfig --list | grep "3:on"

例子:

[root@server ~]# chkconfig --list | grep "3:on"
NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
webmin          0:off   1:off   2:on    3:on    4:off   5:on    6:off
x2gocleansessions       0:off   1:off   2:on    3:on    4:on    5:on    6:off
.
.
.

或者 :

service --status-all

答案4

检查防火墙规则。运气好的话,防火墙配置为默认拒绝。这意味着每个允许的服务都有一条明确的规则。

这样更好,netstat因为它还可以显示开放的端口,例如用于夜间备份。

相关内容