linuxidc@linuxidc:~/www.linuxidc.com$ sudo ss -tunlp [sudo] linuxidc 的密码: Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:44785 0.0.0.0:* users:(("avahi-daemon",pid=958,fd=14)) udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=784,fd=12)) udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:* users:(("dhclient",pid=4581,fd=6)) udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:* users:(("cups-browsed",pid=27807,fd=7)) udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=958,fd=12)) udp UNCONN 0 0 [::]:49638 [::]:* users:(("avahi-daemon",pid=958,fd=15)) udp UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=958,fd=13)) tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=16718,fd=20)) tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1189,fd=6),("nginx",pid=1188,fd=6),("nginx",pid=1187,fd=6),("nginx",pid=1186,fd=6),("nginx",pid=1185,fd=6),("nginx",pid=1184,fd=6),("nginx",pid=1183,fd=6),("nginx",pid=1182,fd=6),("nginx",pid=1181,fd=6))
使用 lsof 检查端口lsof 是一个功能强大的命令行实用程序,它提供有关进程打开的文件的信息。
在 Linux 中,一切都是文件。您可以将套接字视为写入网络的文件。
要使用 lsof 获取所有侦听 TCP 端口的列表,请输入:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo lsof -nP -iTCP -sTCP:LISTEN
使用的选项如下:
-n - 不要将端口号转换为端口名称。
-p - 不要解析主机名,显示数字地址。
-iTCP -sTCP:LISTEN - 仅显示 TCP 协议状态为 LISTEN 的网络文件。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo lsof -nP -iTCP -sTCP:LISTEN [sudo] linuxidc 的密码: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd-r 784 systemd-resolve 13u IPv4 22476 0t0 TCP 127.0.0.53:53 (LISTEN) nginx 1181 root 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1181 root 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1182 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1182 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1183 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1183 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1184 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1184 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1185 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1185 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1186 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1186 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1187 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1187 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1188 www-data 6u IPv4 29330 0t0 TCP *:80 (LISTEN) nginx 1188 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) nginx 1189 www-data 6u IPv 29330 0t0 TCP *:80 (LISTEN) nginx 1189 www-data 7u IPv6 29331 0t0 TCP *:80 (LISTEN) mysqld 16718 mysql 20u IPv4 76540 0t0 TCP 127.0.0.1:3306 (LISTEN) cupsd 27806 root 6u IPv6 93720 0t0 TCP [::1]:631 (LISTEN) cupsd 27806 root 7u IPv4 93721 0t0 TCP 127.0.0.1:631 (LISTEN)
大多数输出列名称都是不言自明的:
COMMAND, PID , USER- 命令, PID 以及运行命令的用户。
NAME - 端口号。
要查找正在侦听特定端口(例如 3306)的进程,请使用以下命令:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
输出显示 MySQL 服务器使用该 3306 端口: