如何识别使用网络设施的进程,它们是否可以被杀死?

xra*_*alf 1 networking security netstat

在输出中

netstat -a | grep LISTEN
Run Code Online (Sandbox Code Playgroud)

通常有很多过程。我如何(在哪里)找到有关它们的信息,它们在系统中的目的是什么,以及我是否可以杀死它们?其中哪些可能是不安全的,哪些是安全的?

War*_*ung 5

我如何(在哪里)可以找到有关他们的信息,

首先,您必须找出每个端口绑定了哪个程序。不幸的是,没有单一的标准方法可以适用于所有 *ix 类型系统,并且您的问题没有指定一个。

某些版本netstat有一个标志,其中将在每个输出行上包含相关联的程序名称。例如,--program在 Linux 或-bWindows 上。

如果您netstat没有这样的标志(例如 OS X),您将不得不找到另一种适用于您的系统的方法。lsof -i,/proc洞穴探险等

他们在系统中的目的是什么

一旦你掌握了程序名称,man progname通常会给你足够的信息来回答这个问题。

[我可以]杀了他们吗?

一旦您知道每个服务器在做什么,您就会弄清楚这一点。

此处的单一答案不是列出您可以杀死的所有事物的正确位置。有太多的可能性。如果您在阅读文档后对给定程序不确定,您可以在此处发布另一个问题来询问它。有些事情是相当明显的(例如sshd),有些则比较晦涩(例如avahi)。

其中哪些可能是不安全的,哪些是安全的?

默认情况下,程序很少会在绝对不安全的新 *ix 系统上运行。

(在过去的糟糕日子里,情况并非如此。您经常会看到系统正在运行telnetd,非 chroot ftpdr*命令......)

任何非默认的后台 TCP 侦听器都应该是您或其他受信任的管理员安装的,因此您可能已经掌握了任何安全问题。

这里有灰色地带。您可能运行的服务器并非绝对不安全,而是有条件地不安全。也许它没有正确锁定,也许它有未修补的错误等等。但是,这是整个计算机安全职业的内容,不适合在这里用一个问题来回答。缺乏这种经验,谷歌可能是你最好的首选。如果您在那里找不到您需要的内容,您可以在此处发布有关特定服务器的新问题。

  • 该字段中的“-”表示两件事之一。既然你说的是 90%,那么最可能的原因是监听程序不是你所有的,所以内核无法为你查找程序名称。以 root 身份运行 `netstat` 以获取所有程序名称。这也可能意味着端口不归用户进程所有。一个例子是端口 2049,它是 NFS 的一部分,它位于 Linux 的内核中。您可以从 netstat 输出中的人类可读服务名称(在本例中为“nfs”)中获取有关此类事情的线索,或者使用 `netstat -n` 获取端口号并通过其他方式查找。 (3认同)