如何在使用 nmap 扫描后知道服务名称并禁用它?

如何在使用 nmap 扫描后知道服务名称并禁用它?

当我使用 nmap 扫描我的 ubuntu 时,我得到了以下结果:

Starting Nmap 7.40 ( https://nmap.org ) at 2017-10-20 10:40 EET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
443/tcp open  https
631/tcp open  ipp
902/tcp open  iss-realsecure

我如何知道在此端口上运行的服务名称并使用停止或禁用它

$ systemctl disable SERVICE

答案1

您可以运行它sudo netstat -tlp来显示所有打开的套接字,以及哪些程序正在使用这些套接字。我们可以将它与 grep 结合使用来显示我们正在运行哪个 Web 服务器:

sudo netstat -tlp | grep https
tcp6       0      0 [::]:https              [::]:*                  LISTEN      5541/apache2  

我们向 netstat 传递三个参数:

  1. -t 仅请求 TCP 套接字,忽略 UDP。
  2. -l 仅要求监听套接字,忽略来自浏览器等的传出连接
  3. -p 要求程序打开套接字。

在这种情况下,apache2 正在运行,监听 https(在我的机器上是 IPv6,因为它有原生 IPv6。如果它另外有 IPv4,它还会监听 0.0.0.0:https)。

在这种情况下,sudo systemctl disable apache2将禁用 Apache 并关闭端口。请注意,这取决于实际监听的内容。它甚至可能不是一项服务。

话虽如此,902 和 443 让我想起了 VMWare Workstation。您是否安装了它?

IPP 可能是 cups,如果您没有打印机,您可以安全地禁用它。如果您有打印机,则需要 cups,但您可以限制它仅监听环回接口或使用 ufw 对其进行防火墙 :)

相关内容