如何关闭Ubuntu中的开放端口?

我需要一个命令来列出我的PC中的所有开放端口,以及另一个关闭端口的命令。

有什么建议?

我需要关闭一些应用程序的端口。

netstat可用于查看ports stat。

 sudo netstat -lnp 

列出所有l istening ports n umbers,其中每个端口都负责。 终止或终止进程以关闭端口。 ( killpkill ……)

没有流程终止,这是不可能的! 。 请参阅从命令行手动关闭端口 。 您可以通过其他方式寻找防火墙解决方案(将该端口与网络隔离)

 sudo ufw allow 22 sudo ufw deny 22 

您可以使用iptables来阻止网络级别的端口,而无需关闭应用程序。 端口仍然显示为打开,但无法访问。

或者,这取决于应用程序,一些允许禁用某些端口(想想dovecot和pop3或imap端口),有些则不能。 某些应用程序也可以配置为仅侦听localhost或特定地址。

您可以使用netstat -nalplsof -i:port工具来识别开放端口后面的进程/二进制文件。

如果要关闭端口,则必须终止进程或停止相关服务。如果只想为本地盒运行服务,则可以配置相应的服务以侦听localhost / 127.0.0.1而不是所有可用(0.0.0.0)ips。

要在ubuntu中关闭监听端口,您可以使用以下命令

 sudo kill $(sudo lsof -t -i:3000) 

代替3000您可以指定您的端口号

lsof命令将提供有关按进程打开的文件的信息

-t :此标志指定lsof应该只生成带有进程标识符的简洁输出而没有标题 – 例如,以便输出可以通过管道传输来终止(1)。 此选项选择-w选项。

-i :此标志选择任何其Internet地址与i中指定的地址匹配的文件列表。 如果未指定地址,则此选项将选择所有Internet和x.25(HP-UX)网络文件的列表。

如果您的端口由于运行服务而打开,例如vsftpd for ftp service,则可以停止然后禁用该服务,以便与该服务相关的可执行文件也将被终止。 在debian基本系统中,您可以运行以下命令来破坏服务:

 service SERVICENAME stop systemctl disable SERVICENAME 

祝好运