您可以使用以下命令来查看当前 Linux 系统上开放的端口:
sudo netstat -tlnp
该命令会列出所有正在监听的 TCP 和 UDP 端口,以及它们所关联的进程。输出结果类似于以下示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp6 0 0 :::80 :::* LISTEN 5678/apache2
udp 0 0 127.0.1.1:53 0.0.0.0:* -
在上面的示例中,SSH 进程(PID=1234)在 TCP 端口22上进行监听;Apache HTTP Server 进程(PID=5678)在 TCP 端口80上进行监听。如果某个进程被标记为“-”,表示该进程没有与任何网络地址或端口相关联。
您也可以使用以下命令来查看系统上所有正在运行的进程及其所使用的端口:
sudo lsof -i
该命令会显示每个进程所打开的网络连接信息,包括本地地址、远程地址、协议和状态等。输出结果类似于以下示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
apache2 5678 www-data 3u IPv6 123456 0t0 TCP *:80 (LISTEN)
mysql 9012 mysql 10u IPv4 234567 0t0 TCP localhost:3306 (LISTEN)
在上面的示例中,SSH、Apache HTTP Server 和 MySQL 进程分别在TCP端口22、80和3306上进行监听。