您如何分辨服务器的实际功能?[关闭]


42

我得到了3个Linux盒子,其中1个正面带有apache,另外2个,据我所知,做得并不好。所有运行在Redhat上。

问题很简单:我如何知道服务器的实际功能?创建者可提供零文档。


7
进程列表,网络侦听器(也许可以与应该基于初始化脚本运行的网络侦听器进行比较)...
HBruijn 2015年

5
该死的!肯定有人知道他们的目的吗?所以他们要您支持他们,但不知道他们在做什么?!
Digital Lightcraft 2015年

11
把它们关掉。有人会几乎立即通知您什么不起作用。
jscott 2015年

58
不要关闭它。如果要进行尖叫测试,请拔出以太网电缆。如果您从未遇到过重启时间为两年的机器无法重启,那么您将在某个时候遇到问题。现在不是时候增加挫败感的时候了。
亚伦·科普利2015年

7
其他人说的话,还:对他们运行nmap。
凯瑟琳·维尔德

Answers:


42

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

但是,严重的是,像这样的神秘机器给团队带来了很多精神上的负担,并且常常没有任何商业价值。与您的老板交谈,如果没人知道它在做什么,也许没人在乎它在做什么。


43
不要关闭它。如果要进行尖叫测试,请拔出以太网电缆。如果您从未遇到过重启时间为两年的机器无法重启,那么您将在某个时候遇到问题。现在不是时候增加挫败感的时候了。(在此处复制此内容是因为需要阅读。)
亚伦·科普利2015年

3
您是100%正确的,我已经编辑了帖子以反映这一点。我当时有点滑稽,但是如果不提倡灾难,我仍然可以滑稽。
Josh Rumbut 2015年

8
在拔出网络之前,最好在每个服务器上保存一个正在运行的进程和打开套接字的列表,以防万一某些情况下依赖服务器之间的TCP连接,而该TCP连接已经建立了许多月却没有任何人思考在第一种情况下,自动执行打开它所需的任何步骤。(例如,如果有人临时需要一个ssh端口转发,然后忘了它。)
kasperd 2015年

4
不要这样 什么荒谬的建议。愚蠢的,无思想的IT人员这样做花了我很多时间和工作。先问。如果您不知道该问谁,请询问所有人
莫妮卡(Monica)与Lightness比赛,2015年

4
确保您留出足够的时间让别人尖叫-一次我是在服务器机房机架上用一台灰尘或台式机做的事情-没有人知道它做了什么,当我们拔出电源时,有人花了整整一个月的时间才注意到。事实证明,它是工资系统的一部分,如果没有该服务器,会计部门将无法产生每月工资。它已经无人值守运行了至少3年,没有人关注它-因此“尖叫测试”是成功的,如果我们不这样做,服务器最终将自行死亡。我们最终将它p2v'入我们的vmware集群。
约翰尼

30

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

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

您没有提到版本,所以我省略了细节。


8
还有什么比配置系统启动时启动的服务更重要。哪些服务正在运行?启动服务并忘记将其配置为在引导时启动,这并非难事。在相关说明中,最好查看其他系统状态,例如:安装点,路由表,iptables规则。所有这些都是很容易在系统运行时更改的,而无需记住更新引导过程中使用的配置文件。
kasperd

另外,我将使用端口扫描器查看哪些端口已打开,然后尝试使用常规工具连接到它。对于(一个简单的)示例,如果打开了端口443,则可以尝试使用网络浏览器连接到该端口。我不得不经常浏览这些看似废弃的服务器,而我最喜欢的工具之一是如果愿意,可以在/ etc和其他位置快速浏览配置文件,其中之一是使用“ lynx”或“链接”。这些是基于字符的Web浏览器,与文件浏览器一样,它们也能很好地完成工作,并具有便捷的光标键导航功能。
aseq 2015年

1
@kasperd在运行服务和持久服务之间的公平竞争。但是,我想到了防火墙规则,安装点等。在我看来,这些都是作为辅助组件,已经与现有的要点之一联系在一起。YMMV。
亚伦·科普利2015年

请添加-检查活动的网络连接,并写下服务名称和端口号。最佳方法是因操作系统而异。EG净状态。另外,在计算机上进行某种跟踪,以便您可以一整天看到它的运行情况。您可能还需要考虑服务器上运行的内容可能是恶意的情况。
IceMage 2015年

19

您可以做一些事情来确定系统上正在运行的内容。

您可以检查服务器正在侦听哪些端口,以了解那里的情况。一个好的命令是:

 [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


5
我发现netstat -plunt更容易记住。
2015年

2
同样,tcpdump对于确定谁在实际使用每种服务可能很有用。
2015年

18

另一种方法涉及检查/etc目录并查看修改日期。全新安装后,此目录中的所有文件应具有大致相同的日期/时间。而且由于安装通常会安装很多人们通常不使用的东西,因此只有具有修改日期文件才可以反映服务器的实际用途。如果这是ext4,则您还应该能够提取目录的生日,因此该任务可能非常容易。

另一种方法将涉及检查.bash_history文件以查看管理员的工作。该文件可以提供丰富的知识。


7

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

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


6

我尚未看到的一个答案:检查最近修改的文件。日志,数据库文件,其他输出文件等可能会被写入仍然可以提供线索的静态文件:

find . -mtime -3 

这样可以在当前目录中找到更深的修改文件,并在最近3天进行更深的更改。将数字3增加到有根据的猜测,直到获得可以调查的输出为止。

这不是万无一失的,因为这些盒子可能只处理一些Web服务调用,返回一些数据而无需编写任何内容。但是,除了上面提到的大量组合之外,它可能还会提供一些线索。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.