linux下进程监听端口号,Linux:找出进程正在侦听哪个端口号

作为Linux用户,我们有时需要知道特定进程正在侦听哪个端口号。所有端口都与OS中的进程ID或服务相关联。那么我们如何找到那个港口呢?本文介绍了三种不同的方法,供您查找进程正在侦听的端口号。

我们已经在Ubuntu 18.04 LTS系统上运行了本文描述的命令和过程。

方法1:使用netstat命令

Netstat或网络统计实用程序用于查看与网络连接有关的信息。这包括有关接口统计信息,路由表等的信息。该实用程序可在大多数Linux系统上使用,因此让我们利用它来查看有关某些进程在系统上使用的端口的信息。

对于使用netstat命令,如果尚未通过以下命令在系统上安装net-tools实用程序,则需要安装该实用程序:

$ sudo apt install net-tools

8be8348cb22a9f9e38ec43b91a1848d5.png

然后运行以下命令:

$ sudo netstat -ltnp

c6385a2000c0eaf1ceb1fb4fa7145394.png

上面的命令基于以下功能提供netstat信息:

l:仅显示监听套接字

t:显示tcp连接

n:以数字形式显示地址

p:显示进程ID /程序名称

例如,在netstat命令的以上输出中,进程ID为950的Apache2程序在端口号80上运行。

您还可以通过将grep函数合并到命令中来过滤特定端口的统计信息。

例:

$ sudo netstat -ltnp | grep -w ':80'

该命令将具体告诉您哪个进程在端口号80上运行。

0f3f9b7f7f7bd308c9cad5557d598cd1.png

方法2:使用lsof命令

lsof或“打开文件列表”实用程序可帮助列出Linux系统上的所有打开文件。我们可以使用此实用程序来查看在特定端口上打开的所有进程。

对于使用lsof命令,如果尚未通过以下命令在系统上安装lsof实用程序,则需要安装该实用程序:

$ sudo apt install lsof

28cdf3d3639456978dbae22f34405131.png

让我们使用lsof查看在特定端口上侦听的服务。

例:

$ sudo lsof -i :80

该命令将列出所有使用TCP端口80的进程。

5eb0130ff5ff254e9b1a802b2f3e1b0b.png

方法3:使用fuser命令

fuser命令显示正在使用命名文件,套接字或文件系统的进程标识。我们可以使用此命令来查看在特定TCP端口上运行的进程ID。

对于使用fuser命令,如果尚未通过以下命令在系统上安装psmisc实用程序,则需要安装该实用程序:

$ sudo apt install psmisc

97c0c2398d9e23e245e2f00fbaffd80e.png

让我们通过以下命令查看在TCP端口3306上运行的所有进程ID:

$ sudo fuser 3306/tcp

您可以在此命令中指定任何端口号以查看其侦听过程。

ffe6cc789f417c794b388e3c014eb69b.png

在上面的输出中,您可以看到进程ID 975正在侦听TCP 3306。

为了查看此进程ID对应于哪个程序,请运行以下命令:

句法:

$ ps -p [processID] -o comm=

在我们的情况下:

$ ps -p [975] -o comm=

c1ebd938bb83180a576c4871d9df7470.png

输出显示进程ID 975对应于程序名称MySDLd。因此,程序MySQLd的进程ID 975正在侦听端口号3306。

通过本文中学习的三种方法,您可以轻松查看Linux上特定进程正在侦听哪个TCP端口。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值