我手上有 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
因为它还可以显示开放的端口,例如用于夜间备份。