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

nux*_*nux 42 command-line

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

有什么建议?

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

use*_*.dz 47

netstat 可用于查看端口统计信息。

sudo netstat -lnp
Run Code Online (Sandbox Code Playgroud)

要列出所有大号istening端口ñ umbersP rocess负责的每一个。终止或终止进程以关闭端口。( kill, pkill...)

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


uza*_*aif 28

要关闭 ubuntu 中的开放端口,您可以使用以下命令

sudo kill $(sudo lsof -t -i:3000)
Run Code Online (Sandbox Code Playgroud)

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

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

-t:这个标志指定 lsof 应该只产生带有进程标识符而没有头的简洁输出 - 例如,这样输出可以通过管道传送到 kill(1)。此选项选择 -w 选项。

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

  • `sudo Kill -9 $(sudo lsof -t -i:3000)` 对我有用 (5认同)

bem*_*lit 21

sudo ufw allow 22

sudo ufw deny 22
Run Code Online (Sandbox Code Playgroud)


Mis*_*isc 9

您可以使用 iptables 在网络级别阻止端口,而无需关闭应用程序。该端口仍会显示为打开状态,但将无法访问。

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


Nis*_*hay 6

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

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


小智 5

显示所有开放端口的列表:

netstat -lnp
Run Code Online (Sandbox Code Playgroud)

要关闭打开的端口:

fuser -k port_no/tcp
Run Code Online (Sandbox Code Playgroud)

例子:

fuser -k 8080/tcp
Run Code Online (Sandbox Code Playgroud)

sudo如果需要,您可以在两者中使用。