CentOS下如何查看所有已开放的端口列表?

在CentOS系统中,管理和监控网络端口是系统维护和安全保障的核心环节,无论是排查服务故障、配置防火墙规则,还是进行安全审计,我们都需要准确地知道系统上哪些端口正处于监听(开放)状态,幸运的是,CentOS提供了多种强大的命令行工具来完成这项任务,本文将详细介绍几种最常用且高效的方法来查询开放端口。

CentOS下如何查看所有已开放的端口列表?

使用 ss 命令(推荐)

ss(Socket Statistics)是 netstat 的现代替代品,它能够更快、更详细地显示网络连接信息,在大多数现代CentOS版本中,ss 是默认安装的。

要查看所有正在监听的TCP和UDP端口,可以使用以下组合命令:

ss -tuln

这个命令的参数含义如下:

  • -t:显示TCP套接字。
  • -u:显示UDP套接字。
  • -l:仅显示处于监听状态的套接字。
  • -n:以数字形式显示端口和服务地址,不进行反向DNS解析,可以加快执行速度。

输出结果会清晰地列出协议(State)、接收队列、发送队列、本地地址和端口。LISTEN 0 128 0.0.0.0:22 表示SSH服务正在所有网卡的22端口上监听。

如果你只想查找特定端口(例如80端口)是否开放,可以结合 grep 命令:

ss -tuln | grep ':80'

使用 netstat 命令(传统)

netstat 是一个非常经典且广为人知的网络工具,尽管 ss 更为推荐,但很多系统管理员依然习惯使用它,在较新的CentOS版本中,netstat 可能没有预装,你需要先安装 net-tools 包:

CentOS下如何查看所有已开放的端口列表?

sudo yum install net-tools

安装完成后,可以使用与 ss 类似的参数来查询开放端口:

netstat -tuln

netstat 的一个强大功能是显示哪个进程占用了端口,使用 -p 参数可以实现这一点,但这通常需要root权限:

sudo netstat -tulnp

输出结果中会多出一列 PID/Program name,清晰地显示了监听端口的进程ID和程序名称,这对于定位问题非常有帮助。

使用 lsof 命令(功能强大)

lsof(List Open Files)是一个功能极其强大的工具,它用于列出系统上被进程打开的文件,由于在Linux中“一切皆文件”,网络套接字也不例外,lsof 也可以用来查询端口占用情况。

要查看特定端口(例如22端口)被哪个进程占用,可以执行:

lsof -i :22

这条命令会直接显示出与22端口相关的所有连接和监听进程,包括用户、PID、进程名等详细信息,若要查看所有网络连接,可以使用 lsof -i

CentOS下如何查看所有已开放的端口列表?

工具对比

为了帮助你选择合适的工具,下表对这三种常用工具进行了简要对比:

工具 主要用途 优点 缺点/注意事项
ss 查看套接字统计信息 速度快,信息丰富,现代工具 输出格式对新手可能稍显复杂
netstat 查看网络连接、路由表等 经典,兼容性好,易于理解 执行速度较慢,逐渐被ss取代,可能需手动安装
lsof 列出被进程打开的文件 功能极其强大,可直接关联进程 输出信息可能非常冗长,执行速度相对较慢

相关问答 (FAQs)


解答: 这是因为查看进程与端口之间的映射关系需要更高的系统权限,普通用户运行 netstat -p 时,系统出于安全考虑不会显示其他用户的进程信息,要解决这个问题,只需在命令前加上 sudo 来以管理员权限运行,sudo netstat -tulnp,这样就能看到完整的进程名和PID了。

我发现一个可疑的开放端口,应该如何处理?
解答: 发现未知或可疑的开放端口时,应按以下步骤谨慎处理:

  1. 定位进程: 首先使用 sudo lsof -i :端口号sudo netstat -tulnp | grep ':端口号' 来确定是哪个进程在监听该端口。
  2. 评估进程: 检查该进程是什么服务,是否是你或系统必需的,可以通过进程名在网上搜索其用途,或使用 systemctl status 进程名 查看其服务状态。
  3. 采取措施: 如果确认该进程是恶意或非必要的,可以结束进程(kill -9 PID)并禁用相关服务(sudo systemctl disable --now 服务名),如果服务是必需的但你觉得不安全,应考虑更新它或通过防火墙(如firewall-cmd)限制其访问来源。

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

(0)
热舞的头像热舞
上一篇 2025-10-02 11:20
下一篇 2025-10-02 11:22

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信