CentOS 7查看开放端口,看这一篇就够了!

2025-01-06 09:01:52

为什么要查看 CentOS 7 开放端口?

图片3.jpg

在 CentOS 7 系统的运维管理中,查看开放端口是一项至关重要的操作。从安全角度来说,开放的端口犹如一扇扇对外的门,若不了解哪些端口敞开,不法分子就可能趁机潜入,窃取数据、植入恶意程序,给系统带来灭顶之灾。像常见的 22 端口用于 SSH 远程登录,如果未合理设置访问限制,黑客很容易暴力破解密码,掌控服务器;80 端口提供 Web 服务,一旦被入侵,网站就可能被篡改,造成信息泄露、业务受损。从服务运行监测来看,众多服务依赖特定端口运行,如邮件服务的 25 端口、数据库服务的 3306 端口等。通过查看开放端口,能快速知晓相应服务是否正常启动监听,及时发现因端口未开启或被占用导致的服务故障,保障业务连续性。在故障排查时,若遇到网络连接异常、应用无法访问等问题,查看开放端口可助我们判断是端口配置错误、被防火墙拦截,还是服务本身崩溃未监听端口,精准定位问题根源,节省排查时间,提升解决问题的效率。

查看开放端口的方法大揭秘

利用 firewall-cmd 命令查看

在 CentOS 7 中,firewall-cmd 可是个强大的防火墙管理工具,查看开放端口自然不在话下。它就像是一位尽职的卫士,精准掌控着端口的进出规则。咱们只需在终端输入 “firewall-cmd --list-ports” 这条命令,瞬间就能获取当前系统通过防火墙开放的端口信息。比如说,执行命令后,返回结果显示 “80/tcp 22/tcp”,这就表明 80 端口(一般用于 Web 服务)和 22 端口(常用于 SSH 远程登录)处于开放状态,可供外部合法访问。简单直观,一步到位,轻松知晓系统端口开放情况。[此处插入一张执行 “firewall-cmd --list-ports” 命令的示例图,图中清晰展示命令及返回的端口信息,终端背景为黑色,文字为绿色,端口信息突出显示]

借助 netstat 命令查看(需安装 net-tools)

netstat 同样是查看系统端口占用情况的得力助手。不过要注意啦,CentOS 7 系统默认没有预装 netstat,得先安装 net-tools 工具包,在终端输入 “yum install -y net-tools”,稍等片刻就能完成安装。安装好后,输入 “netstat -lnpt” 命令,系统就会列出所有正在监听的 TCP 端口,以及对应的进程 PID 和进程名称。像下面这样:从结果能清楚看到,22 端口被 sshd 进程占用(用于 SSH 服务),25 端口由 master 进程占用(通常是邮件服务相关),80 端口被 httpd 进程占用(支撑 Web 服务),这让咱们对端口使用情况一目了然,排查问题时格外好用。

实战演练:查看常见服务端口是否开放

为了让大家更熟练掌握查看端口的操作,咱们来实战演练一下,看看常见服务的端口开放情况。先以 Web 服务的 80 端口为例,这可是网页访问的关键端口。在终端输入 “firewall-cmd --query-port=80/tcp”,如果返回 “yes”,那就说明 80 端口已开放,Web 服务可以正常对外提供网页内容;要是返回 “no”,就得检查 Web 服务是否启动、防火墙规则是否阻挡了该端口。操作成功后,终端显示如下:[此处插入一张执行 “firewall-cmd --query-port=80/tcp” 命令返回 “yes” 的截图,截图突出命令与结果,终端样式清晰]再看看数据库服务的 3306 端口(以 MySQL 为例),在终端敲入 “netstat -lnpt | grep 3306”,要是有类似 “tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 5678/mysqld” 这样的信息,表明 3306 端口被 mysqld 进程占用,处于监听状态,数据库服务正常运行,外部客户端能尝试连接;若没有任何输出,就得排查 MySQL 服务是否故障或端口被占用。执行成功的截图如下:[此处插入一张执行 “netstat -lnpt | grep 3306” 命令有正常输出的截图,端口、进程信息完整展示]通过这两个实战案例,大家是不是对查看端口开放状态更有把握了?多动手试试,遇到问题就能轻松应对啦。

端口状态异常?这样排查

有时候,咱们满心欢喜地查看端口,却发现端口状态不对劲,不是没开放,就是被莫名占用,这可咋整?别慌,下面就来盘一盘这些问题的解决之道。要是发现某个本该开放的服务端口没开,比如 Web 服务的 80 端口,先用 “firewall-cmd --query-port=80/tcp” 确认下,返回 “no” 就说明有问题。这时候,先瞅瞅防火墙配置,输入 “firewall-cmd --list-all”,查看下 “public” 区域(一般默认区域)的规则,是不是不小心把 80 端口给拒之门外了。要是规则里没它的 “身影”,那就用 “firewall-cmd --zone=public --add-port=80/tcp --permanent” 这条命令给它 “放行”,再 “firewall-cmd --reload” 让配置立马生效。还有一种糟心的情况,端口被 “霸占” 了。执行 “netstat -lnpt | grep [端口号]” 发现端口被某个进程占用,导致服务起不来。就像数据库服务的 3306 端口被不明进程占用,咱们得揪出这个 “肇事者”。先用 “ps -ef | grep [进程名或端口号]” 查看进程详情,找到它的 PID(进程 ID),再用 “kill -9 [PID]” 这个 “大杀器” 强行终止进程,夺回端口控制权,不过用 “kill -9” 要小心,数据没保存就可能 “凉凉”,所以先尽量用温和的 “kill [PID]” 试试,实在不行再下 “狠手”。

总结与拓展

到这儿,CentOS 7 查看开放端口的核心知识和实用技巧就都传授给大家啦!通过 firewall-cmd 和 netstat 这两大 “神器”,能全方位洞察系统端口动态,保障系统安全稳定、服务顺畅运行。不过这只是端口管理的冰山一角,后续咱们还会深入挖掘 CentOS 7 端口的更多高级玩法,像如何精细定制防火墙规则,按业务需求精准开放或限制端口;还有面对大规模端口配置时,怎样高效批量处理等内容。 希望大家多多动手实践,把今天学到的知识融会贯通,要是在操作过程中碰到难题,或是有独到的见解、经验,随时在留言区分享交流。咱们下期再见,一起探索 CentOS 7 系统的更多奥秘!


声明:此篇为墨韵科技原创文章,转载请标明出处链接: https://www.360jidan.com/anli/4669.html
  • 网站建设
  • SEO
  • 信息流
  • 短视频
合作伙伴
在线留言
服务热线

服务热线

15879069746

微信咨询
返回顶部
在线留言