上一篇
场景引入:
深夜,运维小张突然收到服务器告警短信,疑似有异常连接尝试,他需要快速确认CentOS服务器上某个关键端口是否对外开放,是正常服务还是潜在入侵?这时候,掌握高效的端口检测方法就是救命技能!
netstat -tuln | grep 端口号 # 示例:检查80端口 netstat -tuln | grep 80
输出解读:
tcp 0 0 0.0.0.0:80
→ 表示80端口已开放 注:若提示命令不存在,先执行
yum install net-tools -y
ss -tuln | grep 端口号 # 更详细的防火墙过滤检查 ss -tuln state listening
优势:执行速度更快,适合大批量端口扫描
nmap -sT -p 端口号 127.0.0.1 # 示例:扫描本机1-1000端口 nmap -sT -p 1-1000 localhost
典型结果:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
需先安装:
yum install nmap -y
telnet 服务器IP 端口号 # 示例(测试远程MySQL端口): telnet 192.168.1.100 3306
结果判断:
Connected...
→ 端口通畅 Connection refused
→ 端口关闭或防火墙拦截 # 查看firewalld放行端口 firewall-cmd --list-ports # 查询特定端口规则(以80为例) firewall-cmd --query-port=80/tcp
关键响应:
yes
→ 防火墙已放行 no
→ 需添加规则:firewall-cmd --add-port=80/tcp --permanent
本地能通但外网连不上?
iptables -L -n
查看系统级过滤 端口显示开放却无法访问?
systemctl status 服务名
getenforce
临时关闭端口测试
# 使用iptables临时阻断 iptables -A INPUT -p tcp --dport 端口号 -j DROP # 测试后恢复 iptables -D INPUT -p tcp --dport 端口号 -j DROP
定期扫描脚本
#!/bin/bash PORTS="22 80 443" for port in $PORTS; do nc -zv 127.0.0.1 $port &> /dev/null && echo "端口 $port 正常" || echo "警报:$port 异常!" done
日志记录
配合grep 'refused' /var/log/messages
分析连接失败记录
:掌握这些方法后,你不仅能快速排查端口问题,还能主动预防安全风险,建议将常用命令保存为脚本,关键时刻效率翻倍!
(本文基于CentOS 7/8/9测试验证,2025年7月最新适用)
本文由 潜天华 于2025-07-29发表在【云服务器提供商】,文中图片由(潜天华)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/471964.html
发表评论