📅  最后修改于: 2023-12-03 15:26:49.079000             🧑  作者: Mango
在Linux系统中,有时候我们需要检查哪些端口正在被占用或者繁忙,这对于诊断网络问题或者运行进程非常有用。下面是几种在Linux命令行中检查繁忙端口的方法。
使用netstat
命令可以列出当前正在使用的端口和对应的进程。该命令有许多选项,以下是常用选项:
$ netstat -tulpn
该命令将显示所有TCP和UDP端口的详细信息,包括端口号、进程ID和进程名。
-t
:只显示TCP连接的端口-u
:只显示UDP连接的端口-l
:只显示处于LISTENING状态的端口-p
:显示进程ID和进程名-n
:不解析IP地址和端口号为域名和服务名上面的命令将按照TCP和UDP协议、监听状态、占用进程的方式列出所有正在运行的端口。
lsof
命令可以显示系统中打开文件的列表,包括网络套接字。因此,可以使用该命令来查看哪些进程正在使用哪些端口。
$ sudo lsof -nP | grep LISTEN
该命令将列出所有正在监听的进程和端口信息。
-n
:禁止DNS解析IP和端口-P
:禁止端口号转换为服务名| grep LISTEN
:筛选出所有正在监听的端口ss
是一个更快速和更多功能的netstat
替代者,它可以显示所有套接字(socket)信息,包括TCP、UDP和UNIX domain socket等。
$ sudo ss -lptn
该命令将列出所有正在监听的TCP、UDP和UNIX domain socket套接字的详细信息,包括进程ID和进程名。
-l
:只显示LISTEN状态的套接字-p
:显示进程ID和进程名-t
:只显示TCP连接的套接字-u
:只显示UDP连接的套接字fuser
命令可以查看文件和目录打开的进程和端口。
$ sudo fuser -v -n tcp <port_number>
该命令将列出使用给定端口号的进程和进程ID。
-v
:显示详细信息,包括进程ID和进程名-n tcp
:指定要查找的协议类型以上是在Linux系统中检查繁忙端口的四种方法。可以根据不同的情况选择适合自己的命令来检查端口信息。如果需要检查繁忙端口的进程,建议使用lsof
或者fuser
命令。如果只需要列出当前正在运行的端口,可以使用netstat
或ss
命令。