上一篇 下一篇 分享链接 返回 返回顶部

服务器上查看特定端口正在监听哪个进程的4种方法

发布人:Minchunlin 发布时间:2021-03-06 10:04 阅读量:2391

在服务器上端口是绑定到服务或进程的逻辑结构,它作为网络服务的端点,接受某种类型的通信。只有一个进程只可以绑定到端口,因此通常您需要查找哪个进程正在监听特定端口。

在本文中,我们将向您展示使用四种不同的命令及其选项来完成此操作的四种不同方式。

使用lsof命令查找监听过程

lsof命令代表“列出打开的文件”。由于Linux服务器中的所有内容都是文件,包括端口和套接字,因此我们可以获得所需的所有信息。要查找使用lsof在特定端口上监听的进程,请运行以下命令:

lsof -iTCP:22 -sTCP:LISTEN

lsof命令在所有主要的Linux发行版中都可用,并且通常默认情况下安装。

使用netstat命令查找端口上的进程侦听

netstat命令是一个古老的命令,不仅在每个Linux系统上都可用,而且至少从XP开始,它在任何UNIX或UNIX变体以及Microsoft Windows上都可用。

要查找使用netstat在特定端口上侦听的进程,请使用以下命令:

netstat -anp | grep“:22”

-a选项表示全部,-n表示显示端口,而不是数字,-p表示显示进程ID和名称。

注意:Windows和UNIX系统上的语法可能会有所不同。

使用fuser命令查找收听过程

fuser命令标识哪个进程正在使用文件或套接字。通过一些聪明的选择,我们可以找到我们需要的所有信息,以了解哪个进程正在侦听端口。

sudo fuser 22/tcp

在这里,我们将-v选项用于详细模式,并使用-n选项选择相应的名称空间,然后选择TCP端口22。

使用ss命令查找端口上的进程侦听

ss命令被钉为netstat的替代品。我认为ss命令语法有点复杂,这也可能是因为我年纪大了并且习惯了。

要使用ss命令查找在特定端口上侦听的进程,我们可以使用以下命令:

sudo ss -lptn 'sport = :22'

与Linux中的任何东西一样,完成工作总是有不止一种方法。在这里,我们向您展示了四种不同的方法来查找哪个进程在特定端口上进行侦听。如果您采用的方式与我们在此处讨论的方式不同,欢迎分享。

目录结构
全文