如何关闭端口/禁用服务?

NES*_*NES 8 services

我只是用 nmap 对我的系统进行了端口扫描,并得到了以下结果:

PORT    STATE SERVICE
25/tcp  open  smtp
631/tcp open  ipp
Run Code Online (Sandbox Code Playgroud)

这些服务是什么以及我如何禁用它们?可能我不需要它们。

Flo*_*nle 10

正如您的帖子所说,端口 25 是 SMTP。这意味着安装了一个邮件服务器并在您的端口 25 上侦听请求。这在台式计算机上很不寻常,可能是在安装另一个发送电子邮件的程序时意外发生的。

端口 631 是打印机驱动软件 CUPS 的端口。这是很常见的,因为它带有默认安装。如果您将计算机配置为共享打印机,则端口 631 将始终对其他计算机开放,以便他们可以使用打印机。

如果您想知道哪个程序负责打开端口,请键入:

sudo fuser -v 25/tcp
Run Code Online (Sandbox Code Playgroud)

将示例中的 25 替换为您想要的端口。这应该会告诉您正在运行哪个程序。

从那时起,您有多种可能性。首先,您可以卸载相应的程序,在这种情况下是正在运行的邮件服务器。其次,如果您想保留该程序,您可以尝试停止该服务,如下所示:

sudo stop exim4
Run Code Online (Sandbox Code Playgroud)

请注意这里的 YMMV,因为不同的程序为其服务使用不同的文件名,并且可以以完全不同的方式启动。

另外,请注意,从自身扫描您的计算机显示仅在本地主机上打开的端口。那些对外关闭,但需要对本地主机开放,比如 Cups。这不会带来安全风险。