上一篇                     
               
			  Linux检查端口开启状态
- Linux
- 2025-06-08
- 4431
 使用 
 
 
netstat -tuln | grep 端口号 或 
 ss -tuln | grep 端口号 查看本地端口监听状态,检查远程端口可用 
 nc -zv IP地址 端口号 或 
 telnet IP地址 端口号,
 nmap -p 端口号 IP地址 也能精确扫描确认。
在Linux系统中,查看端口是否开启是网络管理、服务调试和安全审计的常见需求,以下是6种专业方法及其详细操作指南,涵盖不同场景和工具选择:
使用 netstat 命令(经典工具)
 
适用场景:快速检查本地端口监听状态(需root权限查看所有端口)
sudo netstat -tuln | grep ':端口号' # 示例:检查80端口 sudo netstat -tuln | grep ':80'
- 结果解读: 
  - tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN→ 端口已开启
- 无输出 → 端口未监听
 
- 参数解析:
 -t(TCP),-u(UDP),-l(监听中),-n(显示数字端口)
使用 ss 命令(推荐替代方案)
 
优势:比 netstat 更快速,支持更详细的过滤 

sudo ss -tuln | grep ':端口号' # 示例:检查22端口 (SSH) sudo ss -tuln | grep ':22'
- 输出示例:
 tcp LISTEN 0 128 *:22 *:*
- 扩展用法:
 sudo ss -tuln sport = :443→ 精确匹配443端口
使用 lsof 命令(查看进程级占用)
 
适用场景:定位占用端口的进程
sudo lsof -i :端口号 # 示例:检查3306端口 (MySQL) sudo lsof -i :3306
- 结果解读:
 mysqld 1234 mysql 10u IPv6 0xabcd 0t0 TCP *:3306 (LISTEN)
 → 进程mysqld (PID 1234) 正在监听3306端口
远程端口探测(验证外部访问性)
方法1:telnet(基础连通性测试)
 
telnet 目标IP 端口号 # 示例:测试192.168.1.100的8080端口 telnet 192.168.1.100 8080
- 成功响应:Connected to 192.168.1.100
- 失败响应:Connection refused或超时
方法2:nc (netcat)(脚本自动化友好)
 
nc -zv 目标IP 端口号 # 示例:扫描本地22端口 nc -zv 127.0.0.1 22
- 成功输出:Connection to 127.0.0.1 22 port [tcp/ssh] succeeded!
方法3:nmap(专业级扫描)
 
sudo nmap -p 端口号 目标IP # 示例:扫描本机80端口 sudo nmap -p 80 127.0.0.1
- 关键输出:
 PORT STATE SERVICE
 80/tcp open http
通过系统服务文件查询(预定义端口)
适用场景:检查标准服务默认端口

grep '端口号' /etc/services # 示例:查找HTTP端口 grep 'http ' /etc/services
- 输出参考:http 80/tcp www www-http
防火墙状态检查(排除拦截)
关键命令:
# 检查iptables sudo iptables -L -n | grep 端口号 # 检查firewalld sudo firewall-cmd --list-all | grep 'ports=' # 检查ufw sudo ufw status | grep 端口号
总结与最佳实践
| 场景 | 推荐工具 | 使用建议 | 
|---|---|---|
| 本地端口监听状态 | ss或netstat | 优先用 ss(性能更优) | 
| 定位占用进程 | lsof | 结合 -i和-P精确匹配 | 
| 远程端口连通性测试 | nc或telnet | nc适合脚本调用 | 
| 全面端口扫描 | nmap | 需安装,功能最强大 | 
️ 注意事项
- 权限要求:查看所有端口需 sudo或 root 权限
- 工具安装: 
  - 安装 nmap:sudo apt install nmap
- 安装 nc:sudo apt install netcat
 
- 安装 
- 防火墙干扰:端口开启但无法访问时,检查防火墙规则
- 安全提示:避免在公共网络使用 nmap扫描他人主机(可能违法)
引用说明:
netstat和ss文档参考 Linuxman手册(命令:man ss)
nmap官方指南:https://nmap.org/book/man.html- Linux 网络管理标准参考:Linux Foundation 文档库
通过组合以上方法,可准确判断端口状态并解决网络问题,建议日常使用 ss + nc 组合,兼顾效率与功能性。
 
 
 
			