查看有哪些端口占用

在 Linux 系统中,可以使用 netstat 命令来查看当前哪些端口正在被占用。netstat 是一个功能强大的网络工具,可以显示与操作系统相关的各种网络状态信息,包括协议、端口、会话状态、IP 地址等。 netstat 命令与 Linux 系统发行版和版本有关,下面提供两种常见的用法:

  1. 使用 netstat 命令查看所有端口占用情况
netstat -tunlp

输出内容示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::22                   :::*                    LISTEN      1285/sshd
tcp6       0      0 :::80                   :::*                    LISTEN      1318/httpd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1200/master
tcp6       0      0 :::443                  :::*                    LISTEN      1318/httpd
udp        0      0 0.0.0.0:111             0.0.0.0:*                           447/rpcbind
udp        0      0 0.0.0.0:40428           0.0.0.0:*                           328/avahi-daemon:
  1. 使用 lsof 命令查看端口占用情况

lsof 是一条列出已打开的文件的命令,同时也可以列出当前所有已经打开运行的端口。

lsof -i :端口号

例如:

lsof -i :80

输出内容示例:

COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   1318    root    4u  IPv6  18148      0t0  TCP *:http (LISTEN)
httpd   1428  apache    4u  IPv6  18148      0t0  TCP *:http (LISTEN)
httpd   1429  apache    4u  IPv6  18148      0t0  TCP *:http (LISTEN)
httpd   1430  apache    4u  IPv6  18148      0t0  TCP *:http (LISTEN)
httpd   1431  apache    4u  IPv6  18148      0t0  TCP *:http (LISTEN)

其中,-i 参数用于指定查询网络文件类型的文件名或描述。在上述示例中,使用 lsof -i :80 命令可以查看端口 80 的占用情况。输出结果中,COMMAND 表示占用端口的进程名,PID 表示占用端口的进程 ID。

posted @ 2023-04-22 23:16  flytoyou  阅读(141)  评论(0编辑  收藏  举报