当前位置: 首页 > news >正文

Linux网络端口占用排查与解决方案

Linux系统中网络端口占用排查指南

1. 监听端口基础概念

1.1 端口定义与特性

网络端口由编号、关联IP地址和通信协议类型(TCP或UDP)共同标识。监听端口是指应用程序或进程在其上进行网络通信侦听的端点。

关键特性:

  • 同一IP地址上的同一端口不能被两个服务同时监听
  • 端口状态可通过防火墙进行开放或关闭控制
  • 开放端口允许接收来自远程位置的传入数据包

典型应用场景:

  • Web服务器通常监听80(HTTP)和443(HTTPS)端口
  • SSH服务默认使用22端口
  • MySQL数据库服务通常使用3306端口

2. 端口占用排查工具

2.1 netstat工具使用

netstat是传统的网络连接信息查看工具,基本命令格式:

sudo netstat -tunlp

参数说明:

  • -t:显示TCP端口
  • -u:显示UDP端口
  • -n:显示数字地址(不解析主机名)
  • -l:仅显示监听端口
  • -p:显示进程PID和名称(需root权限)

典型输出示例:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0:22 0:* LISTEN 445/sshd tcp6 0 0 :::3306 :::* LISTEN 534/mysqld

2.2 结果过滤技巧

  1. 按端口号过滤:
sudo netstat -tnlp | grep :22
  1. 按协议类型过滤:
sudo netstat -nlp | grep tcp
  1. 按进程名过滤:
sudo netstat -tnlp | grep sshd

2.3 ss工具使用

ss是netstat的现代替代品,提供更快的速度和更详细的TCP状态信息。基本命令:

sudo ss -tunlp

输出格式与netstat类似但更简洁:

State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* users:(("sshd",pid=445,fd=3))

3. 高级排查技术

3.1 lsof工具应用

lsof可查看进程打开的文件信息(包括网络套接字),排查命令:

sudo lsof -nP -iTCP -sTCP:LISTEN

关键参数:

  • -n:禁止端口号到名称的转换
  • -P:禁止主机名解析
  • -iTCP:仅显示TCP连接
  • -sTCP:LISTEN:仅显示监听状态

典型输出:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)

3.2 特定端口检查

检查3306端口占用:

sudo lsof -nP -iTCP:3306 -sTCP:LISTEN

检查80端口占用:

sudo lsof -nP -iTCP:80 -sTCP:LISTEN

4. 典型问题解决方案

4.1 端口冲突处理流程

  1. 确认冲突端口号
  2. 查找占用进程:
sudo lsof -i :冲突端口号
  1. 根据实际情况选择:
    • 终止占用进程
    • 修改新服务端口配置
    • 调整服务启动顺序

4.2 服务无法启动诊断

以Nginx无法启动为例:

  1. 检查错误日志确认具体端口
  2. 查询端口占用:
sudo ss -tulnp | grep 80
  1. 确认占用进程合法性
  2. 采取相应措施释放端口

5. 工具对比与选择建议

工具优点缺点适用场景
netstat功能全面,广泛支持已过时,性能较低传统系统,简单检查
ss性能好,显示详细状态部分功能缺失现代系统,快速检查
lsof信息全面,过滤灵活输出格式复杂精确诊断,高级过滤

日常推荐使用ss作为首选工具,在需要更详细信息时配合lsof使用。

http://www.jsqmd.com/news/547096/

相关文章:

  • Ollama-for-amd:释放AMD GPU潜能的本地AI部署平台
  • PDF24 Creator离线版隐藏技巧:5个连官网都没说的自动化妙用
  • OpenClaw技能扩展实战:用Qwen3-32B-Chat自动生成周报
  • PKE低频天线基础知识与原理
  • 从蓝牙耳机到智能家居:图解PCM接口的5大实战用法
  • Llama-3.2模型实战:如何解决tokenizer缺少padding token的报错(附两种方案对比)
  • ESP8266轻量级Flash-SRAM映射内存库FSmem
  • Alist与Cloudflare R2的无缝对接:WebDAV本地挂载实战与优化技巧
  • ESP32模拟ZDI协议调试eZ80嵌入式系统
  • 2026红外发射管优质厂家推荐榜聚焦交期与稳定性:红外线发射管/贴片式红外线接收器/光敏三极管/红外线接收器/选择指南 - 优质品牌商家
  • PHP后端十年:从0到资深开发者的10堂必修课【第6篇】
  • 2026汕头高口碑婚纱摄影工作室推荐榜:汕头街拍婚纱照/澄海婚纱照/金平婚纱摄影/龙湖婚纱照/汕头写真/汕头复古婚纱照/选择指南 - 优质品牌商家
  • OpenClaw备份方案:GLM-4.7-Flash模型与配置迁移指南
  • 利用快马平台ai能力快速生成vmware虚拟机开发环境原型
  • 低功耗电源开关电路设计与MCU控制实现
  • nRF52833 DK开发板开箱即用指南:从硬件连接到第一个蓝牙例程烧录(基于nRF5 SDK v17.x)
  • 告别AT指令!在STM32上移植MQTT客户端库(以Paho MQTT Embedded C为例)
  • 17 种 RAG 优化策略
  • PP-DocLayoutV3项目实战:重构“黑马点评”业务,实现菜单图片的自动解析与录入
  • NASA、ESA、Landsat API全打通,Python遥感数据采集链路闭环方案,仅剩最后2个认证漏洞未公开
  • LangGraph实战:从零构建并部署一个多功能智能体
  • 算法探索与原型验证:Python与PyTorch
  • 腾讯游戏卡顿终极解决方案:ACE-Guard资源限制器完整指南
  • cocosCreator + fairyGUI 实战指南:从零搭建高效UI系统
  • 实时盯盘系统卡顿、爆内存、延迟超2.3秒?:用asyncio+TA-Lib+Cython重构金融信号引擎(性能提升9.6倍)
  • 快速验证控制逻辑:用快马平台十分钟搭建pid算法仿真原型
  • python-flask-djangol框架的青少年法律宪法学习宣传平台
  • OpenClaw硬件选购指南:百川2-13B-4bits量化版在不同GPU上的表现
  • Linux核心转储文件生成与调试全指南
  • 别再暴力枚举了!用Faiss/Milvus搞定亿级物品的向量召回(附Python代码示例)