centos如何查看本机开放端口及占用进程?

在CentOS系统中,查看本机端口状态是网络管理和故障排查的基础操作,掌握多种端口查看方法,能够帮助管理员快速定位服务运行状态、识别异常连接以及优化网络配置,本文将详细介绍CentOS系统中查看本机端口的常用命令及其使用场景,并结合实例说明操作步骤,最后以FAQs形式解答常见问题。

centos如何查看本机开放端口及占用进程?

使用ss命令查看端口信息

ss是Linux系统中替代netstat的现代化工具,具有更高的查询效率和更丰富的输出选项,在CentOS 7及以上版本中,ss已成为默认安装的网络工具。

基本语法

ss [选项] [过滤条件]

常用选项及示例

  1. 查看所有监听端口

    ss -tulnp
    • -t:显示TCP端口
    • -u:显示UDP端口
    • -l:仅显示监听端口
    • -n:以数字形式显示地址和端口,避免DNS解析
    • -p:显示占用端口的进程ID(PID)和名称

    输出示例:

    State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
    LISTEN     0      128          :::22                       :::*                   users:(("sshd",pid=1234,fd=3))
    LISTEN     0      100         ::1:3306                     :::*                   users:(("mysqld",pid=5678,fd=72))
  2. 查看指定端口的监听状态

    ss -tulnp | grep :80

    此命令可快速筛选与HTTP服务相关的端口信息。

  3. 查看TCP连接状态统计

    ss -s

    输出包括当前TCP连接的各类状态(如ESTAB、TIME_WAIT等)的统计数量,便于快速判断网络负载。

使用netstat命令查看端口信息

尽管ss已成为主流,但在部分旧版CentOS系统中仍需使用netstat,其语法与ss类似,但功能稍弱。

基本语法

netstat [选项] [过滤条件]

常用选项及示例

  1. 查看所有监听端口

    centos如何查看本机开放端口及占用进程?

    netstat -tulnp

    输出格式与ss基本一致,但查询速度较慢,尤其在处理大量连接时。

  2. 查看内核路由表接口

    netstat -rn

    可结合-n选项避免DNS解析,快速查看路由信息。

使用lsof命令查看端口占用进程

lsof(list open files)是一个功能强大的工具,可用于查看端口被哪个进程占用,以及进程打开的文件列表。

基本语法

lsof -i [协议]:[端口]

示例

  1. 查看指定端口的占用情况

    lsof -i :80

    输出示例:

    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    nginx    3456   root    6u  IPv4   12345      0t0  TCP *:http (LISTEN)
    nginx    3457 www-data  6u  IPv4   12345      0t0  TCP *:http (LISTEN)
  2. 查看所有TCP端口

    lsof -i TCP

使用firewall-cmd管理防火墙端口

在CentOS 7及以上版本中,firewalld是默认的防火墙管理工具,查看防火墙规则中的端口配置也是端口管理的重要环节。

常用命令

  1. 查看已开放的端口

    centos如何查看本机开放端口及占用进程?

    firewall-cmd --list-ports
  2. 查看特定服务是否允许通过

    firewall-cmd --query-service=http
  3. 永久开放端口并重新加载

    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --reload

端口状态分类与常见问题

状态 说明 常见原因
LISTEN 端口正在监听连接 服务正常启动
ESTABLISHED 已建立连接 客户端与服务器通信中
TIME_WAIT 连接等待关闭 正常断开连接后的短暂状态
CLOSE_WAIT 连接已关闭但未释放资源 应用程序未正确关闭连接

若端口显示LISTEN但无法访问,需检查防火墙规则或服务配置;若出现大量TIME_WAIT状态,可通过调整内核参数优化。

相关问答FAQs

Q1: 如何查看CentOS系统中被占用但未监听的端口?
A: 使用ssnetstat结合-a选项查看所有端口,包括非监听状态:

ss -tanp | grep -v LISTEN

此命令将显示所有非监听端口及其连接状态,有助于排查异常连接。

Q2: 如何区分端口是被哪个程序占用的?
A: 可通过以下步骤定位:

  1. 使用ss -tulnplsof -i :端口号查看进程PID;
  2. 执行ps -ef | grep PID获取进程详细信息;
  3. 若需终止进程,使用kill -9 PID(谨慎操作)。

通过以上方法,管理员可以全面掌握CentOS系统的端口状态,确保网络服务的稳定运行。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-31 20:52
下一篇 2025-10-31 20:55

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信