Linux:找出进程正在侦听的端口号Linux:找出进程正在侦听的端口号Linux:找出进程正在侦听的端口号Linux:找出进程正在侦听的端口号
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux:找出进程正在侦听的端口号

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

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

方法一:使用netstat命令

Netstat 是网络统计实用程序,用于显示有关网络连接的信息。这包括有关接口统计信息、路由表等的信息。该实用程序在大多数 Linux 系统上都可用,因此我们使用它来查找系统上的某些进程正在使用哪些端口。

要使用 netstat 命令,您必须使用以下命令安装 net-tools 实用程序(如果您的系统上尚未安装):

sudo apt install net-tools

然后运行以下命令:

sudo netstat -ltnp

上面的命令根据以下功能给出 netstat 信息:

  • l:仅显示监听套接字
  • t:显示tcp连接
  • n:以数字形式显示地址
  • p:显示进程ID/程序名称

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

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

例子 :

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

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

方法二:使用lsof命令

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

要使用 lsof 命令,如果您的系统上尚未安装 lsof 实用程序,则需要通过以下命令安装它:

sudo apt install lsof

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

例子 :

sudo lsof -i :80

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

方法3:使用fuser命令

fusion 命令显示哪些进程 ID 正在使用指定的文件、套接字或文件系统。我们可以使用此命令来查看特定 TCP 端口上运行的进程 ID。

要使用 fusion 命令,如果您的系统上尚未安装 psmisc 实用程序,则需要通过以下命令安装 psmisc 实用程序:

sudo apt install psmisc

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

sudo fuser 3306/tcp

您可以在该命令中指定任意端口号来查看其监听进程。

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

要查看该进程ID对应的是哪个程序,请运行以下命令:

句法 :

ps -p [processID] -o comm=

在我们的例子中:

ps -p [975] -o comm=

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

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

©2015-2025 艾丽卡 support@alaica.com