Linux如何查看被占用的端口号 (linux查看端口号被占用)
在Linux系统中,每个网络连接都需要使用一个端口号。这些端口号是唯一的,并且它们允许我们的计算机通过网络与其他设备进行通信。然而,有时候某些端口可能被其他进程或系统占用,导致无法正常启动或运行应用程序。在这种情况下,需要查看和确定哪些端口已被占用。本文将介绍在Linux系统下如何查看被占用的端口号。
1.使用lsof命令查看占用端口号的进程
Linux系统提供了很多命令用于查询系统信息,其中lsof是一个非常实用的命令。可以使用lsof命令查看任何文件系统中任何打开文件的详细信息。通过查找网络套接字,我们可以利用lsof命令查找哪些进程正在使用哪些端口。
使用以下命令可以查看所有打开的端口:
“`
lsof -i
“`
该命令将列出正在使用的端口,以及它们所属的进程ID ,进程的所有者,IP地址和端口号 。
例如,我们可以使用以下命令查找正在使用端口22(SSH协议端口)的进程:
“`
lsof -i :22
“`
该命令将显示占用该端口的进程和其进程ID 。
2.使用netstat命令查看占用端口号的进程
Netstat是另一个实用的命令,用于查看系统的网络状态和信息。与lsof不同的是,netstat只查看网络连接而不是打开文件。使用netstat命令可以查看所有正在监听的端口和与之建立的连接。
例如,我们可以使用以下命令查找所有正在监听的端口:
“`
netstat -l
“`
该命令将列出所有正在监听的TCP和UDP端口,以及它们所属的进程和进程ID 。
我们还可以使用以下命令查找特定端口的连接:
“`
netstat -tulnp | grep
“`
该命令将列出在指定端口上建立的所有连接,以及它们所属的进程和进程ID。
3.使用ss命令查看占用端口号的进程
ss是一个强大的命令,可以查看系统连接和套接字。与netstat类似,ss也可以查看已连接端口的细节,不过它比netstat更快,并支持额外的选项和过滤器。
例如,我们可以使用以下命令查找所有TCP连接:
“`
ss -t
“`
该命令将列出所有TCP连接的详细信息,包括套接字状态、远程地址和端口、本地地址和端口,以及与之相应的进程和进程ID。
我们还可以使用以下命令查找正在监听的端口:
“`
ss -l -p -n
“`
该命令将查找所有正在监听的TCP和UDP端口,并列出它们所属的进程和进程ID。