当我使用 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 传递三个参数:
- -t 仅请求 TCP 套接字,忽略 UDP。
- -l 仅要求监听套接字,忽略来自浏览器等的传出连接
- -p 要求程序打开套接字。
在这种情况下,apache2 正在运行,监听 https(在我的机器上是 IPv6,因为它有原生 IPv6。如果它另外有 IPv4,它还会监听 0.0.0.0:https)。
在这种情况下,sudo systemctl disable apache2
将禁用 Apache 并关闭端口。请注意,这取决于实际监听的内容。它甚至可能不是一项服务。
话虽如此,902 和 443 让我想起了 VMWare Workstation。您是否安装了它?
IPP 可能是 cups,如果您没有打印机,您可以安全地禁用它。如果您有打印机,则需要 cups,但您可以限制它仅监听环回接口或使用 ufw 对其进行防火墙 :)