linux如何查看系统开放了哪些端口号,查询linux开放哪些端口

《Linux系统中开放的端口怎么查?手把手教你掌握五大查看方法!》

在Linux系统中,管理员或开发者经常需要确认哪些端口正在开放监听,这关系到网络安全、服务部署和故障排查,那么如何准确查看系统开放的端口号呢?本文将结合主流工具和实用技巧,为您揭秘五大高效查看方法。

基础命令:netstat与ss

  1. 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

精确过滤技巧

linux如何查看系统开放了哪些端口号,查询linux开放哪些端口

  • 查看所有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

  1. 查看进程关联端口
    lsof -i -n -P | grep LISTEN

    输出示例: java 29321 user 4u IPv4 65532 0 TCP *:443 (LISTEN)

    linux如何查看系统开放了哪些端口号,查询linux开放哪些端口

  • 第5列显示协议类型(TCP/UDP)
  • 第7列显示端口
  1. 查看进程ID
    lsof -i -P | grep [进程名称]

安全审计工具:nmap

  1. 扫描本地开放端口
    nmap -sV -O localhost

    输出包含:

  • 端口状态(open/listen)
  • 服务类型及版本
  • 操作系统指纹
  1. 模拟安全扫描
    nmap -sS -p 1-1000 127.0.0.1

    使用-O选项可检测操作系统类型

图形化查看:Grafana+Netdata

linux如何查看系统开放了哪些端口号,查询linux开放哪些端口

  1. 安装监控套件

    sudo apt install netdata
  2. 通过浏览器访问: http://localhost:19999 netdata默认监听80和443端口

  3. 实时监控面板:

  • 端口拓扑图
  • 服务状态热力图
  • 流量趋势分析

注意事项:

  1. 权限要求:部分命令需要sudo权限
  2. 防火墙影响:部分端口可能被防火墙拦截
  3. 动态变化:监听端口可能随服务启动/停止变化
  4. 安全建议:定期扫描开放端口,及时关闭非必要端口

附:常见服务端口对照表 | 服务名称 | TCP端口 | UDP端口 | |----------|---------|---------| | HTTP | 80 | - | | HTTPS | 443 | - | | SSH | 22 | - | | DNS | 53 | 53 | | FTP | 21 | 20 |

通过上述方法,用户可根据不同场景选择合适工具:日常监控可用ss命令,安全审计推荐nmap,长期观测适合Grafana,建议结合ufwfirewalld防火墙工具,配合定期扫描,构建完整的网络安全防护体系。