linux如何查看系统开放了哪些端口号,查询linux开放哪些端口
《Linux系统中开放的端口怎么查?手把手教你掌握五大查看方法!》
在Linux系统中,管理员或开发者经常需要确认哪些端口正在开放监听,这关系到网络安全、服务部署和故障排查,那么如何准确查看系统开放的端口号呢?本文将结合主流工具和实用技巧,为您揭秘五大高效查看方法。
基础命令:netstat与ss
- TCP/UDP端口全览
执行
netstat -tuln命令后,会显示:
- [阳]表示监听状态(Listener)
- [0]表示连接数
- [:::]表示IPv6地址
- 80/TCP表示HTTP服务监听80端口
示例输出: netstat -tuln | grep 443 80/tcp 0 0 0.0.0.0:80 0.0.0.0:* TCP-listener
精确过滤技巧

- 查看所有TCP端口:
netstat -tuln | grep tcp - 查看开放端口列表:
netstat -tuln | awk '{print $4}' - 查看特定进程的端口:
netstat -tuln | grep [进程PID]
现代替代方案:ss命令
推荐使用ss代替传统netstat:
# 查看所有监听端口 ss -tuln # 查看TCP 80端口 ss -tuln | grep ':80'
优势:
- 输出更简洁
- 支持IPv6过滤
- 响应速度更快
高级分析工具:lsof
- 查看进程关联端口
lsof -i -n -P | grep LISTEN
输出示例: java 29321 user 4u IPv4 65532 0 TCP *:443 (LISTEN)

- 第5列显示协议类型(TCP/UDP)
- 第7列显示端口
- 查看进程ID
lsof -i -P | grep [进程名称]
安全审计工具:nmap
- 扫描本地开放端口
nmap -sV -O localhost
输出包含:
- 端口状态(open/listen)
- 服务类型及版本
- 操作系统指纹
- 模拟安全扫描
nmap -sS -p 1-1000 127.0.0.1
使用-O选项可检测操作系统类型
图形化查看:Grafana+Netdata

-
安装监控套件
sudo apt install netdata
-
通过浏览器访问: http://localhost:19999 netdata默认监听80和443端口
-
实时监控面板:
- 端口拓扑图
- 服务状态热力图
- 流量趋势分析
注意事项:
- 权限要求:部分命令需要sudo权限
- 防火墙影响:部分端口可能被防火墙拦截
- 动态变化:监听端口可能随服务启动/停止变化
- 安全建议:定期扫描开放端口,及时关闭非必要端口
附:常见服务端口对照表 | 服务名称 | TCP端口 | UDP端口 | |----------|---------|---------| | HTTP | 80 | - | | HTTPS | 443 | - | | SSH | 22 | - | | DNS | 53 | 53 | | FTP | 21 | 20 |
通过上述方法,用户可根据不同场景选择合适工具:日常监控可用ss命令,安全审计推荐nmap,长期观测适合Grafana,建议结合ufw或firewalld防火墙工具,配合定期扫描,构建完整的网络安全防护体系。
