武汉临空港国家网安基地“网络安全万人培训资助计划”入驻企业
咨询热线:4000618418

如何查看Linux端口使用情况?

发布时间:2025-12-01

如何查看Linux端口使用情况?

在Linux系统中,端口作为网络通信的核心接口,承载着服务监听与数据传输的重要功能。同一台服务器可通过单个IP地址配置多个端口,每个端口对应不同的网络服务。本文将系统介绍三种查看Linux端口使用情况的实用命令,帮助管理员快速掌握端口监控技巧。

ScreenShot_2025-12-01_172255_236

一、端口监控基础概念

Linux端口是操作系统为网络进程分配的通信标识符,范围从0到65535。其中:

  • 0-1023:系统保留端口(需root权限)

  • 1024-49151:注册端口

  • 49152-65535:动态/私有端口

通过端口监控,管理员可以:

  • 确认服务是否正常运行

  • 排查端口冲突问题

  • 检测异常连接

  • 优化网络配置

二、核心监控工具详解

1. netstat命令:经典网络监控工具

虽然部分新发行版已默认移除,但通过安装net-tools包仍可使用:

bashsudo apt install net-tools  # Debian/Ubuntusudo yum install net-tools  # CentOS/RHEL

常用参数组合

bashnetstat -tulnp
  • -t:显示TCP连接

  • -u:显示UDP连接

  • -l:仅监听端口

  • -n:数字格式显示

  • -p:显示进程信息

实战示例

bash# 查找80端口占用情况netstat -tulnp | grep ':80'# 查看所有TCP监听端口netstat -tnlp

2. ss命令:现代替代方案(推荐)

作为netstat的升级版,ss具有以下优势:

  • 性能提升3-10倍

  • 支持更详细的过滤条件

  • 显示更完整的连接状态

基础用法

bashss -tulnp

参数含义与netstat完全对应,输出格式更紧凑。

高级过滤

bash# 查看SSH服务端口ss -tulnp | grep ':22'# 显示所有ESTABLISHED状态的TCP连接ss -tn state established

3. lsof命令:多功能文件监控工具

基于"一切皆文件"的Linux哲学,lsof可查看所有打开的文件(包括网络连接):

安装命令

bashsudo apt install lsof  # Debian/Ubuntusudo yum install lsof  # CentOS/RHEL

典型用法

bash# 查看特定端口lsof -i :3306# 按协议查看lsof -i TCP      # 所有TCP连接lsof -i UDP      # 所有UDP连接lsof -i :8080   # 精确匹配端口

输出字段解析

COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEmysqld  1234   mysql   12u  IPv6  12345      0t0  TCP *:3306 (LISTEN)
  • COMMAND:进程名称

  • PID:进程ID

  • USER:运行用户

  • FD:文件描述符

  • TYPE:连接类型

  • NAME:连接详情

三、场景化应用指南

1. 服务启动验证

bash# 检查Nginx是否监听80端口ss -tulnp | grep nginx# 或使用lsoflsof -i :80 | grep nginx

2. 端口冲突排查

bash# 发现端口占用时sudo lsof -i :8080sudo kill -9 <PID>  # 终止冲突进程

3. 安全审计

bash# 查看所有监听端口ss -tulnp | grep LISTEN# 检查异常连接ss -tnp | grep ESTABLISHED | grep -v 127.0.0.1

4. 性能优化

bash# 统计连接数ss -s# 查看TCP重传情况ss -i

四、工具对比与选择建议

工具性能输出详细度过滤能力依赖关系
netstat需安装net-tools
ss内置
lsof最高需单独安装

推荐方案

  • 新系统优先使用ss

  • 需要进程详细信息时使用lsof

  • 兼容旧系统时使用netstat

五、进阶技巧

  1. 结合grep过滤

bashss -tulnp | grep -E 'nginx|apache'
  1. 持续监控

bashwatch -n 1 "ss -tulnp"
  1. 统计端口使用

bashss -t | awk '{print $5}' | cut -d: -f2 | sort | uniq -c | sort -nr
  1. 查看非标准端口服务

bashss -tulnp | grep -v ':22\|:80\|:443'

通过掌握这些端口监控技术,Linux管理员可以更高效地管理系统网络资源,及时发现并解决潜在问题。建议结合实际场景选择合适的工具组合,形成个性化的监控方案。