在Linux系统中,可以通过以下几种方法查看开放的端口号:
netstat 命令netstat -tuln
-t:显示TCP端口。-u:显示UDP端口。-l:仅显示监听中的端口。-n:以数字形式显示地址和端口(不解析域名和服务名)。Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTENnetstat,需通过包管理器安装(如 apt install net-tools 或 yum install net-tools)。ss 命令(推荐,更现代的工具)ss -tuln
netstat 类似,但性能更高。Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 [::]:80 [::]:*lsof 命令sudo lsof -i -P -n | grep LISTEN
-i:显示网络连接。-P:禁止端口号转换为服务名(显示数字端口)。-n:禁止IP地址解析为主机名。sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
nginx 5678 www-data 6u IPv6 67890 0t0 TCP *:80 (LISTEN)ufw 或 firewalld)bash
sudo ufw statusbash
sudo firewall-cmd --list-portsnmap 扫描本地端口sudo nmap -sT -p- 127.0.0.1
-sT:TCP连接扫描。-p-:扫描所有端口(1-65535)。nmap(如 apt install nmap 或 yum install nmap)。/etc/services 文件cat /etc/services
ss -tuln(无需安装,性能最佳)。sudo lsof -i -P -n(显示进程和用户)。nmap(适合验证防火墙配置)。根据需求选择合适的方法即可!