我已经交了3个Linux的盒子,其中一个正面临着apache,另外两个,据我所知,并没有做太多的事情。 所有在Redhat上运行。
问题很简单:我怎么知道服务器在做什么? 零文档可从创build者处获得。
拔下以太网电缆,看看谁不高兴。
但严重的是,这样的神秘机器为团队造成了很大的精神负担,而且往往不能提供商业价值。 和老板交谈,如果没有人知道它的作用,也许没有人关心它的作用。
对于Serverfault格式,这是一个相当广泛的问题,但这是一个好的开始:
你没有提到版本,所以我省略了具体细节。
有几件事你可以做,以确定你的系统上运行的是什么。
您可以检查服务器正在侦听的端口,以了解其中的内容。 一个好的命令是:
[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正在侦听。 这些解决scheme分别parsing为samba,nrpe(Nagios代理)和ssh,并在您检查在该端口上侦听的程序时得到确认。
此外,您可以检查configuration为在启动时启动的守护程序列表,为此,请运行: chkconfig --list | grep "3:on"
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
另一种方法是检查/etc
目录并查看修改date。 全新安装后,该目录中的所有文件应该具有大致相同的date/时间。 而且由于安装通常会安装很多人们通常不用的东西,只有修改date较晚的文件反映了服务器的实际用途 。 如果这是ext4,你也应该能够提取目录的出生date,所以任务可以很容易。
另一种方法是检查.bash_history
文件以查看pipe理员所要做的事情。 这个文件可以提供丰富的知识。
检查防火墙规则。 有一点运气,它被configuration为默认拒绝。 这意味着每个允许的服务都有一个明确的规则。
这比netstat
更好,因为它也可以显示为夜间备份打开的端口。
我还没有看到一个答案:检查最近修改的文件。 日志,数据库文件,其他输出文件等可能会被写入仍可能提供的线索:
find . -mtime -3
那会在当前目录中find修改过的文件,并在最近3天内发生更改。 将数字3增加到一个有教养的猜测,直到你得到一些你可以调查的输出。
不是简单的,因为这些框可能只是处理一些Web服务调用,返回一些数据,而不会写任何东西。 但是,在上面提到的大混合中,它可能只是产生一些线索。