上一篇                     
               
			  Linux如何检测80端口占用?
- Linux
- 2025-06-09
- 2271
 使用命令 
 
 
netstat -tuln | grep ':80' 或 
 ss -tuln | grep ':80' 查看80端口占用情况,若输出结果则端口被占用,无输出则空闲,也可用 
 lsof -i :80 检查具体进程。
查看80端口占用的核心方法
方法1:使用 ss 命令(推荐)
 
ss -tuln | grep ':80b'
- 操作步骤: 
  - 打开终端(Ctrl+Alt+T)
- 执行命令 ss -tuln | grep ':80b'
- 观察输出: 
    - 有结果 → 80端口被占用(示例:tcp LISTEN 0 128 *:80 *:*)
- 无结果 → 端口未被占用
 
- 有结果 → 80端口被占用(示例:
 
- 参数解析: 
  - -t:检查TCP协议
- -u:检查UDP协议
- -l:仅显示监听中的端口
- -n:以数字格式显示端口(避免解析服务名)
 
- 优势:ss是netstat的现代替代工具,执行速度更快,属于iproute2标准包组件。
方法2:使用 lsof 命令
 
sudo lsof -i :80
- 输出关键字段: 
  - COMMAND:进程名称(如nginx)
- PID:进程ID
- USER:运行用户
- TYPE:协议类型(TCP/UDP)
 
- 说明: 
  - 需root权限(使用sudo)
- 直接显示占用进程的详细信息
 
- 需root权限(使用
方法3:使用 netstat 命令(传统方案)
 
sudo netstat -tulnp | grep ':80b'
- 参数解析: 
  - -p:显示进程名/PID(需sudo权限)
- 输出示例:tcp6 0 0 :::80 :::* LISTEN 1234/nginx
 
结果分析与故障处理
▶ 确认端口占用后的操作:
-  定位进程:  - 通过 sudo ss -tulnp | grep ':80'查看PID及进程名
 
- 通过 
-  管理对应服务: # 停止服务(示例) sudo systemctl stop nginx # 彻底禁用(谨慎操作) sudo systemctl disable nginx 
-  检查未知占用:  - 若出现未授权的进程占用,立即排查安全风险: # 查看进程路径 ls -l /proc/<PID>/exe 
 
- 若出现未授权的进程占用,立即排查安全风险: 
▶ 端口未被占用时的表现:
- 所有命令均无输出结果
专业建议
- 权限管理: 
  - 普通用户可使用 ss -tln | grep ':80'快速检查
- 查看进程详情需 sudo提权(遵循最小权限原则)
 
- 普通用户可使用 
- 安全提示: 
  - 80端口默认用于HTTP服务,若被未知进程占用可能存在载入风险
- 定期使用 sudo lsof -i :80审计服务
 
- 工具选择:
 | 命令 | 速度 | 信息详细度 | 安装需求 |
 |———|——–|————|——————|
 |ss| | | 内置(主流发行版)|
 |lsof| | | 需安装lsof包 |
 |netstat| | |net-tools包 |
知识扩展
- 端口状态解析: 
  - LISTEN:服务正在监听
- ESTABLISHED:活动连接
- TIME_WAIT:连接关闭中
 
- 查看全部监听端口: ss -tuln # 推荐 netstat -tuln 
引用说明: 基于 Linux 内核文档(kernel.org)及《Linux 系统管理技术手册》(Richard Blum 著),命令测试环境为 Ubuntu 22.04/CentOS Stream 9,操作前请确认您有系统管理权限,生产环境中建议备份关键数据。
 
 
 
			 
			 
			 
			 
			 
			 
			