📌  相关文章
📜  检查繁忙的端口 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:49.079000             🧑  作者: Mango

检查繁忙的端口

在Linux系统中,有时候我们需要检查哪些端口正在被占用或者繁忙,这对于诊断网络问题或者运行进程非常有用。下面是几种在Linux命令行中检查繁忙端口的方法。

1. 使用netstat命令

使用netstat命令可以列出当前正在使用的端口和对应的进程。该命令有许多选项,以下是常用选项:

$ netstat -tulpn

该命令将显示所有TCP和UDP端口的详细信息,包括端口号、进程ID和进程名。

  • -t:只显示TCP连接的端口
  • -u:只显示UDP连接的端口
  • -l:只显示处于LISTENING状态的端口
  • -p:显示进程ID和进程名
  • -n:不解析IP地址和端口号为域名和服务名

上面的命令将按照TCP和UDP协议、监听状态、占用进程的方式列出所有正在运行的端口。

2. 使用lsof命令

lsof命令可以显示系统中打开文件的列表,包括网络套接字。因此,可以使用该命令来查看哪些进程正在使用哪些端口。

$ sudo lsof -nP | grep LISTEN

该命令将列出所有正在监听的进程和端口信息。

  • -n:禁止DNS解析IP和端口
  • -P:禁止端口号转换为服务名
  • | grep LISTEN:筛选出所有正在监听的端口
3. 使用ss命令

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连接的套接字
4. 使用fuser命令

fuser命令可以查看文件和目录打开的进程和端口。

$ sudo fuser -v -n tcp <port_number>

该命令将列出使用给定端口号的进程和进程ID。

  • -v:显示详细信息,包括进程ID和进程名
  • -n tcp:指定要查找的协议类型
结论

以上是在Linux系统中检查繁忙端口的四种方法。可以根据不同的情况选择适合自己的命令来检查端口信息。如果需要检查繁忙端口的进程,建议使用lsof或者fuser命令。如果只需要列出当前正在运行的端口,可以使用netstatss命令。