一、CentOS 7 系统简介

在服务器操作系统的江湖里,CentOS 7 可是大名鼎鼎!要是说 Ubuntu 是桌面用户的心头好,那 CentOS 7 绝对是公司、企业、IDC 等领域的 “宠儿”。它为啥这么受欢迎呢?稳定性超强,全球好多著名网站都靠它 “撑腰”,稳稳运行不宕机。而且它出身名门,是 Red Hat Enterprise Linux 的免费开源再编译版本,既继承了 RHEL 的卓越稳定性,又免费更新,这谁能不爱!CentOS 7 兼容性也是杠杠的,各种硬件平台、主流数据库、Web 服务器软件等,它都能轻松 “拿捏”,不管是虚拟化、容器技术,还是云计算、大数据处理场景,都有它的身影。再加上 YUM 包管理器让软件包管理变得 So Easy,还有强大的网络功能,简直是运维小伙伴的得力助手。今天,咱就深入 CentOS 7 的世界,重点聊聊端口查看那些事儿,一起揭开它神秘的面纱吧!
二、查看端口前的准备工作
在咱们动手查看端口之前,得先做好两件小事。第一件,得确保你是以管理员权限登录系统的,要是权限不够,好多操作可都没法进行,就像你没钥匙进不了门一样。要是不清楚有没有管理员权限,试试在命令行输入 “sudo -v”,要是系统没报错,还提示让你输入密码,那就妥了,有管理员权限。要是报错说 “sudo:未找到命令”,也别慌,用 “yum install sudo” 这条命令安装一下就行。第二件事,CentOS 7 默认没有预装查看端口需要的 net-tools 工具包,所以得手动安装。打开终端,输入 “yum install net-tools -y”,回车,系统就会自动下载安装啦。安装完怎么知道成没成功呢?简单,输入 “ifconfig”,要是能看到网卡信息,像 IP 地址、子网掩码啥的,那就说明 net-tools 安装成功,可以继续后面的操作啦。这两步准备工作就像跑步前的热身,做好了,后面查看端口才能顺顺利利。
三、查看已开放端口
准备工作做好了,接下来就进入正题 —— 查看已开放端口。在 CentOS 7 里,查看端口主要靠 “firewall-cmd” 这个强大的命令。输入 “firewall-cmd --zone=public --list-ports”,回车,就能看到当前系统在 public 区域(这是防火墙默认区域,类似小区里的公共区域,网络访问大多经过这儿)开放的端口列表啦。比如说,运行完命令,终端显示 “80/tcp 443/tcp 22/tcp”,这就意味着 80、443、22 这三个端口是对外开放的。80 端口通常是 Web 服务器用的,像咱们访问网站敲网址不用输端口号,默认就是访问 80 端口;443 端口用于 HTTPS 加密访问,保障数据传输安全;22 端口则是 SSH 远程登录端口,运维人员经常靠它远程操控服务器。要是啥都没显示,别慌,可能是防火墙规则限制,暂时没开放端口,或者你之前改过默认区域,得用对应的区域名替换 “public” 再试试。通过查看开放端口,咱们就能心里有数,知道系统对外 “敞开” 了哪些 “大门”,方便后续排查网络问题、配置服务器应用啥的,是不是超实用!
四、查看监听端口
有时候,咱们不光想知道哪些端口开放了,还想瞅瞅哪些端口正在被监听,这就轮到 “netstat -lnpt” 命令登场啦。“-l” 参数表示只显示处于监听状态的套接字,就像你只关注那些竖起 “耳朵” 等待连接的端口;“-n” 参数是不进行 DNS 轮询,直接显示 IP 地址,速度更快,不用慢悠悠地查询域名对应信息;“-p” 参数超厉害,它能把使用端口的进程标识符(PID)和程序名称都显示出来,让咱们一眼看穿是哪个 “小家伙” 在占用端口;“-t” 参数则指明只查看 TCP 端口,要是你想看 UDP 端口,把 “-t” 换成 “-u” 就行。不过要注意哦,CentOS 7 默认没有预装 netstat 命令,要是你直接运行报错 “未找到命令”,别慌,用 “yum install net-tools -y” 安装一下 net-tools 工具包就行。安装好后,在终端输入 “netstat -lnpt”,回车,就能看到类似下面的信息:从这个结果能看出,22 端口(被 sshd 进程占用,用于 SSH 登录)、25 端口(sendmail 进程在用,和邮件服务有关)、80 端口(httpd 进程负责,Web 服务靠它)都处于监听状态,随时准备为对应的服务 “站岗放哨”,接收外来连接请求。通过查看监听端口,咱们能精准定位系统里正在运行的网络服务,要是遇到端口冲突、服务启动失败等问题,就可以顺着这条线索排查,快速揪出 “捣乱分子”,让系统恢复正常运行。
五、检查端口被哪个进程占用
有时候咱们遇到端口相关问题,像启动服务时提示端口已被占用,这时候就得揪出是哪个 “调皮鬼” 进程占着端口不撒手。用 “netstat -lnpt | grep [端口号]” 就能定位到占用端口的进程。比如说,咱们怀疑 80 端口被异常占用,在终端输入 “netstat -lnpt | grep 80”,回车,可能会得到类似这样的结果:从这儿就能看出,是 PID 为 1234 的 httpd 进程在占用 80 端口。要是你还想进一步查看这个进程的详细信息,就用 “ps -ef | grep [进程 ID]” 命令,像上面例子,输入 “ps -ef | grep 1234”,回车,终端会显示:这里面,“root” 是启动进程的用户,“1234” 是进程 ID,“1” 是父进程 ID,“10:00” 是进程启动时间,“/usr/sbin/httpd -DFOREGROUND” 是进程运行的命令,通过这些信息,咱们就能对占用端口的进程了如指掌,要是发现它是 “非法占用”,就能采取相应措施,比如关闭进程啥的,让端口恢复 “自由身”,保障系统正常运行。
六、实战演练
光说不练假把式,下面咱们来个实战演练。假设你在 CentOS 7 系统上搭建了一个网站,想看看 Web 服务的 80 端口情况,跟着下面步骤来就行。首先,打开终端,输入 “firewall-cmd --zone=public --list-ports”,看看 80 端口有没有开放,如果没开放,输入 “firewall-cmd --zone=public --add-port=80/tcp --permanent” 开放端口,再输入 “firewall-cmd --reload” 让配置生效。接着,输入 “netstat -lnpt” 瞅瞅 80 端口有没有被监听,要是显示 “tcp6 0 0 :::80 :::* LISTEN [进程 PID 和名称]”,就说明正常监听啦,像常见的 “httpd” 进程。要是怀疑端口被异常占用,输入 “netstat -lnpt | grep 80”,找到占用进程,再用 “ps -ef | grep [进程 ID]” 深挖进程信息,确认没问题,网站就能顺利运行,尽情对外展示风采啦!通过这次实战,是不是感觉查看端口也没那么神秘,多练几次,你就是 CentOS 7 端口管理小能手。
七、总结
好啦,今天咱们一起深入学习了 CentOS 7 查看端口的几种超实用方法。“firewall-cmd” 能让咱们快速知晓已开放端口,了解系统对外的 “沟通窗口”;“netstat -lnpt” 则专注于监听端口,帮咱们找出那些时刻准备服务的 “小卫士”;要是遇到端口被占的麻烦,“netstat -lnpt | grep [端口号]” 结合 “ps -ef | grep [进程 ID]” 就能精准定位 “肇事者”。在操作过程中,大家千万别忘了准备工作,管理员权限和安装 net-tools 工具包是关键。查看端口在日常运维、排查故障、保障服务器安全稳定运行等方面可是大有用处。希望大家多动手实践,把这些技能牢牢掌握。要是在操作中遇到问题,或者有啥独特的端口管理小窍门,欢迎在留言区分享交流,咱们一起进步,下期再见咯!