Linux查看端口状态的最快方法?

使用 netstat 命令(经典工具)

安装(部分系统需手动安装):

sudo apt install net-tools  # Debian/Ubuntu
sudo yum install net-tools  # CentOS/RHEL

常用参数组合:

sudo netstat -tuln
  • -t:仅显示TCP端口
  • -u:仅显示UDP端口
  • -l:仅显示监听中的端口
  • -n:以数字形式显示地址和端口(不解析域名)
  • -p:显示进程名/ID(需sudo权限)

输出示例:

Proto Recv-Q Send-Q Local Address  Foreign Address  State       PID/Program name
tcp        0      0 0.0.0.0:22     0.0.0.0:*        LISTEN      1234/sshd
  • 关键列:
    Local Address → 0.0.0:22 表示所有IP监听22端口(SSH服务)
    State → LISTEN 表示端口正在等待连接

使用 ss 命令(netstat 的现代替代)

优势:执行速度更快,无需额外安装(默认集成于主流发行版)。
基础命令:

sudo ss -tuln

参数含义同 netstat。
过滤特定端口(如查看80端口):

sudo ss -tuln sport = :80

使用 lsof 命令(查看进程占用端口)

安装(未预装时):

sudo apt install lsof  # Debian/Ubuntu
sudo yum install lsof  # CentOS/RHEL

查看所有监听端口:

sudo lsof -i -P -n | grep LISTEN
  • -i:显示网络连接
  • -P:禁止端口别名(显示数字端口)
  • -n:禁止IP地址解析(显示原始IP)

输出示例:

sshd    1234  root    3u  IPv4  12345  0t0  TCP *:22 (LISTEN)
  • 含义:进程 sshd(PID 1234)正在监听22端口。

使用 nmap 扫描本地端口(安全审计)

安装:

sudo apt install nmap  # Debian/Ubuntu
sudo yum install nmap  # CentOS/RHEL

扫描本机开放端口:

sudo nmap -sT -p- 127.0.0.1
  • -sT:TCP全连接扫描(最稳定)
  • -p-:扫描所有65535个端口(范围1-65535)

输出示例:

PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
  • STATE:open 表示端口可访问,filtered 可能被防火墙拦截。

查看端口关联服务

通过 /etc/services 文件查询端口对应的标准服务:

grep 22 /etc/services

输出示例:

ssh   22/tcp    # Secure Shell

常见问题解决

  1. 无权限查看进程信息
    → 使用 sudo 提权执行命令(如 sudo ss -tulp)。

  2. 命令未找到
    → 按前文方法安装对应工具包(如 net-tools、lsof)。

  3. 端口监听但无法访问
    → 检查防火墙:

      sudo ufw status          # Ubuntu防火墙
      sudo firewall-cmd --list-ports  # CentOS防火墙

总结建议

  • 日常快速检查 → 使用 ss -tuln(效率最高)
  • 排查进程占用 → 使用 lsof -i :端口号
  • 深度安全扫描 → 使用 nmap
  • 生产环境操作前 → 通过测试环境验证命令,避免误操作影响服务。

安全提示:

  • 关闭非必要端口以减少攻击面。
  • 定期审计端口使用情况(结合自动化脚本)。
  • 敏感服务避免绑定 0.0.0(所有接口),建议限制IP范围。

引用说明: 参考 Linux 官方手册(man netstat/man ss/man lsof)、Nmap 官方文档及 Red Hat/CentOS、Ubuntu 安全实践指南,命令兼容主流 Linux 发行版(包括 Ubuntu、Debian、CentOS、RHEL 等)。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年7月1日 04:25
下一篇 2025年7月1日 04:43

相关推荐

  • 如何发现内存泄露linux

    在Linux系统中,内存泄露是指程序在运行过程中动态分配的内存未被正确释放,随着时间推移导致可用内存逐渐减少,最终可能引发系统性能下降、服务响应缓慢甚至触发OOM(Out of Memory) Killer机制终止关键进程,及时发现内存泄露对系统稳定性至关重要,以下从监控工具、分析方法到定位步骤详细介绍如何在L……

    2025年9月9日
    27700
  • Linux如何修改环境变量?

    在Linux系统中,环境变量是操作系统和用户交互的重要桥梁,它们定义了系统运行时的配置信息,如程序搜索路径、默认编辑器、语言环境等,正确修改环境变量能帮助用户自定义系统行为,提升工作效率,本文将详细介绍Linux中修改环境变量的方法,包括临时修改、用户级永久修改和系统级永久修改,并辅以常用命令说明和注意事项,环……

    2025年9月8日
    25300
  • Linux如何更改GRUB引导配置?

    Linux系统中的GRUB(Grand Unified Bootloader)是引导加载程序的核心组件,负责在开机时初始化硬件、加载操作系统内核并启动系统,用户可能需要更改GRUB配置以满足个性化需求,例如设置默认启动项、调整启动等待时间、添加自定义内核参数或修复启动问题,但GRUB配置直接关系到系统启动,操作……

    2025年9月24日
    31900
  • Linux网络配置后如何生效?

    在Linux系统中,网络的生效涉及配置文件的修改、网络服务的管理以及相关命令的使用,不同发行版的配置方式可能存在差异,但核心逻辑一致,以下将从基础配置、服务管理、常用命令及进阶场景等方面详细说明Linux如何使网络生效,网络配置文件基础Linux网络的永久配置通常依赖于特定的配置文件,不同发行版的文件位置和格式……

    2025年10月3日
    26100
  • Linux请求调页的实现原理是什么?

    Linux实现请求调页机制是其虚拟内存管理的核心,通过“按需加载”策略优化内存使用,仅在进程访问到某页时才将其从磁盘调入内存,未访问的页保留在磁盘,从而显著减少物理内存占用并提高系统效率,以下从硬件基础、数据结构、缺页处理流程、页面置换算法及优化机制等方面详细解析其实现原理,硬件基础:MMU与页表机制请求调页依……

    2025年10月4日
    23000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信