如何关闭或(解除绑定?)恶意应用程序打开的端口?

如何关闭或(解除绑定?)恶意应用程序打开的端口?

我使用的是 Fedora 13 64 位。我的 eclipse 程序在端口 9050 上启动了一个服务器,但我关闭了该程序,eclipse 无法正确关闭服务器。重新启动 eclipse 没有任何效果。

如何从命令行强制关闭或取消绑定端口?

我知道重新启动或注销并重新打开会清除端口,但对我来说这个过程要慢得多。我正在寻找在命令行中强制关闭端口的方法。

答案1

强制关闭聆听端口是终止正在监听该端口的进程。使用lsofnetstatfuser– 以 root 身份 – 查找进程 ID。一旦进程退出(自行退出或被终止),内核将自动清理它打开的所有套接字。(但是,可能会出现程序被拒绝在同一端口上监听几分钟的情况;在这种情况下,您只能等待。)

答案2

lsof -n -i

找到您正在寻找的进程并将其终止。

lsof手动的

-n此选项禁止将网络号转换为网络文件的主机名。禁止转换可能会使 lsof 运行得更快。当主机名查找无法正常工作时,它也很有用。

-我 [我]此选项选择其 Internet 地址与 i 中指定的地址相匹配的文件列表。如果没有指定地址,则此选项将选择所有 Internet 和 x.25 (HP-UX) 网络文件的列表。

相同的答案这个问题我认为。

答案3

您可以使用开关fuser来执行该命令-k

例如,要关闭端口 111,您可以执行以下操作:(fuser -k 111/tcp 这也省去了查找进程 ID 来终止它的麻烦,因为 fuser 会隐式地执行此操作)

请注意,某些进程一旦关闭就会自动重新启动。为此,您需要检查每个进程的配置文件以找到适当的解决方法。

答案4

我遇到了同样的问题,只需在 Windows 上使用 cmd 命令查找正在监听该端口的进程即可

netstat -a -b

然后你可以用任务管理器关闭它

相关内容