使用netstat、ss和lsof检查监听端口及进程;2. 通过nmap从外部扫描识别暴露端口;3. 配置防火墙仅开放必要端口;4. 结合日志监控与告警工具实现持续防护,有效降低系统入侵风险。

监控Linux系统端口风险是保障服务器安全的重要环节。开放或异常监听的端口可能成为攻击入口,因此及时发现可疑端口活动非常关键。以下是几种实用的端口扫描与检测方法,帮助你识别潜在风险。
1. 使用 netstat 检查监听端口
netstat 是传统但有效的网络状态查看工具,可以列出当前系统中所有活跃的连接和监听端口。
- 查看所有监听中的TCP/UDP端口:
netstat -tuln - 结合程序名查看哪个进程在使用端口:
netstat -tulnp - 重点关注非必要服务开启的端口(如6379、27017、11211等)
2. 使用 ss 命令替代 netstat
ss 是更现代、更快速的工具,功能类似 netstat,推荐在新系统中使用。
- 查看所有监听端口:
ss -tuln - 显示进程信息:
ss -tulnp - 过滤特定端口(如80):
ss -tnlp | grep :80
3. 使用 lsof 查看端口占用详情
lsof 可以列出打开的文件和网络连接,适合深入排查。
- 查看指定端口被谁占用:
lsof -i :22 - 查看所有网络连接:
lsof -i - 结合 grep 筛选特定协议或状态
4. 外部端口扫描检测(模拟攻击者视角)
从外部网络对服务器进行端口扫描,能发现暴露在公网的风险端口。
- 使用 nmap 扫描本机或局域网主机:
nmap -sT 目标IP - 检测常见服务端口:
nmap -p 1-1000 目标IP - 识别服务版本信息(辅助判断是否需升级):
nmap -sV 目标IP - 建议定期从外网扫描,确认防火墙策略生效
5. 配置防火墙限制端口暴露
仅开放必要端口,是防范端口风险的根本措施。
- 使用 iptables 或 firewalld 关闭非必要端口
- 例如只允许80、443、22:
firewall-cmd --permanent --add-port=80/tcp - 拒绝其他入站连接,默认策略设为 DROP
6. 启用日志监控与告警
结合系统日志和安全工具实现主动预警。
- 检查 /var/log/messages 或 journal 日志中网络异常记录
- 部署 fail2ban 防止暴力扫描
- 集成 zabbix、Prometheus 等工具监控端口状态变化
基本上就这些。定期执行端口检查,结合内外扫描与防火墙策略,能有效降低系统被入侵的风险。安全不是一次性的任务,而是持续的过程。










