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如何分析日志

    使用cat、less查看日志内容,grep搜索关键词,`

    2025年8月10日
    1500
  • linux如何查看系统配置

    Linux中,可通过命令uname -a查看系统内核信息,用`hostnamectl

    2025年8月15日
    1400
  • 如何在电脑上安装Linux系统?

    在电脑上安装Linux系统是许多用户探索开源世界、提升系统自由度的重要步骤,无论是开发、办公还是日常使用,Linux都能提供稳定且可定制的体验,安装Linux系统主要有三种常见方式:虚拟机安装(不破坏原系统)、双系统安装(与Windows等系统并存)以及U盘单系统安装(完全替换原系统),以下是详细步骤和注意事项……

    2025年8月26日
    1200
  • Linux系统中如何正确安装和配置GRUB引导程序?

    GRUB(Grand Unified Bootloader)是Linux系统中广泛使用的引导加载程序,负责在计算机启动时加载操作系统内核和初始化内存盘(initramfs),是系统启动流程的核心组件,在Linux系统中安装GRUB通常出现在以下场景:新安装系统后手动配置引导、修复因误操作或系统更新导致的引导丢失……

    2025年8月29日
    1300
  • Arch安装分区不当会怎样?

    分区前的核心准备备份数据使用dd或rsync备份整个磁盘:dd if=/dev/sdX of=/path/to/backup.img status=progress双系统用户需提前用fdisk -l确认Windows/Mac分区位置,避免误删,选择分区工具命令行工具(推荐):fdisk:通用MBR/GPT工具g……

    2025年6月18日
    3600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信