Linux端口被占如何速查?

核心工具及命令

netstat 命令(经典工具)

netstat -tuln | grep <端口号>
  • 参数解析
    -t(TCP端口)
    -u(UDP端口)
    -l(仅监听端口)
    -n(以数字形式显示)
    -p(显示进程信息,需sudo权限)
  • 示例
    查看80端口占用:

    netstat -tulnp | grep :80
  • 输出关键列
    Proto(协议)、Local Address(监听地址:端口)、PID/Program name(进程ID/名称)

ss 命令(netstat的现代替代)

ss -tuln | grep <端口号>
  • 优势:执行速度更快,语法更简洁。
  • 常用参数
    -s(统计摘要)、-a(所有连接)
  • 示例
    查看所有TCP监听端口:

    ss -tln

lsof 命令(基于进程的查询)

sudo lsof -i :<端口号>
  • 功能:直接关联端口与进程。
  • 参数扩展
    -i TCP(仅TCP端口)、-P(禁止端口转服务名)
  • 示例
    查看22端口(SSH)的进程:

    sudo lsof -i :22

nmap 工具(网络扫描)

sudo nmap -sT -p- localhost
  • 用途:扫描本地开放端口(适合安全审计)。
  • 参数说明
    -sT(TCP连接扫描)、-p-(扫描所有端口)

进阶操作

根据端口终止进程

  • 步骤
    1. 通过端口查PID:
      sudo ss -tulp | grep ':80'
    2. 终止进程(假设PID为1234):
      sudo kill 1234

      或强制终止:

      sudo kill -9 1234

端口占用排查流程

  1. 确认端口是否监听:ss -tuln | grep <端口>
  2. 检查防火墙:sudo ufw status(若使用UFW)
  3. 验证服务配置:如Nginx/Apache的配置文件。

工具对比与场景建议

工具 适用场景 优势
netstat 兼容旧系统,基础查询 信息全面,广泛支持
ss 快速检查活跃连接 性能高,输出简洁
lsof 精确定位进程与文件关联 深度分析进程资源占用
nmap 安全扫描或批量检测 支持高级扫描策略

最佳实践

  • 日常检查用 ssnetstat
  • 进程关联用 lsof
  • 全面扫描用 nmap

注意事项

  1. 权限要求
    lsofnetstat -p 等需 sudo 权限才能显示进程信息。
  2. 端口状态解读
    • LISTEN:服务正在监听
    • ESTABLISHED:活跃连接
    • TIME_WAIT:连接关闭中
  3. 安全提示
    开放的非必要端口可能成为攻击入口,定期使用 nmap 扫描可增强安全性。

引用说明

  • Linux man pages:man netstat, man ss, man lsof
  • Nmap官方文档:https://nmap.org/book/man.html
  • 工具兼容性参考:基于Linux内核4.15+及主流发行版(Ubuntu 20.04+, CentOS 7+)验证。

通过以上方法,可高效管理Linux端口资源,确保服务稳定运行并提升系统安全性,建议结合场景选择工具,复杂问题可交叉验证结果。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5929.html

(0)
酷番叔酷番叔
上一篇 2025年7月1日 04:01
下一篇 2025年7月1日 04:19

相关推荐

  • 同事升职比你快?这点你做到了吗

    自动加载(适用于大多数桌面环境)现代Linux桌面(如GNOME、KDE、XFCE)已集成UDisk2服务,可自动检测并挂载U盘:插入U盘:系统通常发出提示音,桌面右下角弹出通知,访问文件:文件管理器(如Nautilus、Dolphin)左侧栏出现U盘图标,名称通常为设备品牌(如”Kingston USB……

    2025年7月8日
    1200
  • Linux安装RabbitMQ分几步?

    系统准备更新系统 sudo apt update && sudo apt upgrade -y安装依赖RabbitMQ依赖Erlang运行环境: sudo apt install -y curl gnupg apt-transport-https配置软件源添加Erlang仓库 # 添加Erlan……

    2025年6月24日
    1300
  • 如何挂载磁盘分区到文件夹?

    核心概念Linux系统克隆指创建完整的系统副本(包括操作系统、配置、应用及数据),用于备份、迁移或部署相同环境,根据目标需求,主要分三类方法:磁盘/分区级克隆:逐扇区复制(适合整盘备份或硬件更换)文件级克隆:复制文件与目录结构(适合同架构系统迁移)系统打包重建:生成安装包再部署(适合大规模分发)磁盘级克隆(推荐……

    2025年7月6日
    900
  • 如何查看Linux当前内核版本?

    使用 uname 命令(最常用)uname 是Linux核心工具集(coreutils)的一部分,所有发行版均预装,操作步骤:打开终端(快捷键 Ctrl+Alt+T),输入以下命令查看完整内核版本:uname -r输出示例:15.0-86-generic说明:5:主版本号(重大更新)15:次版本号(稳定分支)0……

    2025年6月16日
    1300
  • 如何满足睡觉的条件?

    在Linux系统中,休眠(Hibernate)是一种重要的电源管理功能,它允许系统将当前运行状态(包括内存数据)保存到硬盘的交换分区(swap),然后完全断电,当再次开机时,系统会从硬盘恢复状态,回到休眠前的界面,这与挂起(Suspend)不同——挂起仅将数据保存在内存中并进入低功耗模式,断电后数据会丢失,下面……

    2025年6月18日
    1300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信