端口是表示通信端点的逻辑实体,并且与操作系统中的给定进程或服务相关联。 在以前的文章中,我们解释了如何找出Linux中所有开放端口的列表,以及如何使用'nc'命令检查远程端口是否可达 。
在本简短的指南中,我们将展示在Linux中查找特定端口的流程/服务监听的不同方式。
1.使用netstat命令
netstat(network statistics)命令用于显示有关网络连接,路由表,接口统计信息等信息。 它适用于所有类似Unix的操作系统,包括Linux和Windows操作系统。
如果您在默认情况下没有安装,请使用以下命令进行安装。
$ sudo yum install net-tools #RHEL/CentOS $ sudo apt install net-tools #Debian/Ubuntu $ sudo dnf install net-tools #Fedora 22+
一旦安装,您可以使用grep命令查找在Linux中的特定端口上监听的进程或服务,如下所示(指定端口)。
$ netstat -ltnp | grep -w ':80'
使用netstat命令检查端口
在上面的命令中,标志。
-
l
- 告诉netstat只显示监听套接字。 -
t
- 告诉它显示tcp连接。 -
n
- 指示它显示数字地址。 -
p
- 显示进程ID和进程名称。 -
grep -w
- 显示精确字符串的匹配(:80)。
2.使用lsof命令
lsof命令 (LiSt Open Files)用于列出Linux系统上的所有打开文件。 要将其安装在系统上,请键入以下命令。
$ sudo yum install lsof #RHEL/CentOS $ sudo apt install lsof #Debian/Ubuntu $ sudo dnf install lsof #Fedora 22+
要查找特定端口上的进程/服务监听,请键入(指定端口)。
$ lsof -i :80
使用lsof命令查找端口
3.使用fuser命令
fuser命令显示在Linux中使用指定文件或文件系统的进程的PID。
您可以按如下方式进行安装:
$ sudo yum install psmisc #RHEL/CentOS $ sudo apt install psmisc #Debian/Ubuntu $ sudo dnf install psmisc #Fedora 22+
您可以通过运行以下命令(指定端口)来查找特定端口上的进程/服务监听。
$ fuser 80/tcp
$ ps -p 2053 -o comm= $ ps -p 2381 -o comm=
在Linux中查找端口和进程ID
您还可以查看有关Linux中的进程的这些实用指南。
就这样! 您是否知道在Linux中查找特定端口的流程/服务的任何其他方法,请通过下面的注释表单通知我们。