了解打开端口的服务

了解打开端口的服务

我想关闭 debian 8.2 中不必要的端口。

$ nmap localhost | grep open
25/tcp  open  smtp
631/tcp open  ipp

搜索smtp对应的服务,

$ lsof -i:25
$ sudo systemctl --all | grep smtp

两个命令都没有显示任何内容。 ip 也一样。我不知道打开端口的服务。我应该怎么办 ?

答案1

lsof命令必须以 root 身份运行,否则它只会显示属于您的用户的侦听端口。

# lsof -i:25
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
master  844 root   12u  IPv4   6975      0t0  TCP *:smtp (LISTEN)
master  844 root   13u  IPv6   6976      0t0  TCP *:smtp (LISTEN)

systemctl命令仅了解服务,而不了解端口号或协议名称。即您需要知道哪个特定的软件包(例如sendmaileximpostfix等)正在提供 smtp 服务。例如

# systemctl | grep -E 'postfix|exim|sendmail|qmail'
postfix.service

另一种选择是使您要搜索的内容更加通用。例如 grep formail而不是smtp

# systemctl --all | grep -i mail
  postfix.service                 loaded    active   running   LSB: Postfix Mail Transport Agent
  mail-transport-agent.target     loaded    active   active    Mail Transport Agent

相关内容