Plantre Plantre
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

plantre

一个后端开发者
首页
后端
技术
硬件
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 技术

    • 技术文档
    • GitHub技巧
    • Nodejs
    • 博客搭建
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 虚拟化

  • Git

  • 可视化

  • Linux

    • Linux 系统中常见目录符号
    • nohub启动jar并保存日志到文件
    • Linux添加SSH公钥
    • ssh命令常用场景详解
    • lvm是什么,和文件系统什么关系,windows下有吗
    • linux查询某个文件夹大小
    • linux删除某个文件夹
    • linux根目录下的文件夹解析
    • linux的文件权限解析
    • dev-null是什么
    • 2&1是什么意思
    • .ssh下有哪些文件,分别有什么作用
    • known_hosts具体举例说明
    • 非对称加密原理和真实数据举例
    • 查询linux端口是否占用
    • 若 SELinux 处于 Enforcing 模式,需在挂载路径后添加 Z是什么意思
    • linux查看每个进程内存大小
    • 分辨文件的种类
  • 远程串流等

  • SWF

  • 网络

  • 网站收藏
  • 技术
  • Linux
plantre
2025-05-14

查询linux端口是否占用

在Linux系统中,查询端口是否被占用可通过多种命令实现,以下是常用的方法及操作指南:


一、快速检查端口监听状态

  1. ss命令(推荐)
    速度快且直接读取内核数据,适合高负载服务器环境:

    ss -tuln | grep :端口号
    
    1

    • 参数解析:-t(TCP)、-u(UDP)、-l(仅监听端口)、-n(数字形式显示)。

    • 示例:ss -tuln | grep :80 检查80端口是否被监听。

  2. netstat命令
    传统工具,逐步被ss替代,但兼容性较好:

    netstat -tulnp | grep 端口号
    
    1

    • 参数说明:-p(显示进程信息),-a(显示所有连接)。

    • 示例:netstat -tulnp | grep 3306 查看MySQL默认端口状态。


二、定位占用端口的进程

  1. lsof命令
    显示端口关联的进程详细信息(需root权限):

    sudo lsof -i:端口号
    
    1

    • 输出示例:显示进程名(COMMAND)、PID、用户(USER)及协议类型。

    • 示例:sudo lsof -i:8080 查看8080端口的占用程序。

  2. 结合grep的进阶用法
    通过/proc文件系统直接关联进程:

    sudo ls -l /proc/$(sudo lsof -t -i:端口号) | grep exe
    
    1

    • 可获取进程的可执行文件路径。


三、深度分析与验证

  1. 检查端口对外开放性
    使用nmap或telnet验证端口是否可访问:

    nmap -p 端口号 localhost
    telnet localhost 端口号
    
    1
    2

    • nmap输出状态包括open(开放)、closed(关闭)、filtered(被拦截)。

  2. 解析底层连接状态
    查看/proc/net/tcp文件(需转换端口号为16进制):

    grep -w "端口号(16进制)" /proc/net/tcp
    
    1

    • 示例:grep -w "1F90" /proc/net/tcp 检查8080端口(16进制为0x1F90)。


四、处理端口占用

  1. 终止进程
    通过PID强制终止占用端口的进程:

    sudo kill -9 PID
    
    1

    • 示例:sudo kill -9 1234 结束PID为1234的进程。

  2. 安装缺失工具
    若系统中缺少命令(如ss、lsof),需通过包管理器安装:

    sudo apt install net-tools lsof iproute2  # Debian/Ubuntu
    sudo yum install lsof iproute             # CentOS/RHEL
    
    1
    2

总结 • 优先推荐命令:ss(高效) > lsof(详细进程信息) > netstat(兼容性)。

• 权限注意:多数命令需sudo权限才能查看所有进程。

• 扩展场景:若需长期监控,可结合脚本自动化检测端口状态。

编辑 (opens new window)
上次更新: 2025/06/10, 09:18:05
非对称加密原理和真实数据举例
若 SELinux 处于 Enforcing 模式,需在挂载路径后添加 Z是什么意思

← 非对称加密原理和真实数据举例 若 SELinux 处于 Enforcing 模式,需在挂载路径后添加 Z是什么意思→

最近更新
01
集成loki
07-04
02
TCP的ESTABLISHED是什么意思
06-24
03
安装1panel
06-24
更多文章>
Theme by Vdoing | Copyright © 2025-2025 plantre | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式