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 Address0.0.0:22 表示所有IP监听22端口(SSH服务)
    StateLISTEN 表示端口正在等待连接

使用 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
  • STATEopen 表示端口可访问,filtered 可能被防火墙拦截。

查看端口关联服务

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

grep 22 /etc/services

输出示例:

ssh   22/tcp    # Secure Shell

常见问题解决

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

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

  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

相关推荐

  • 如何查看U盘设备名/dev/sdb?

    如何通过U盘启动Linux:详细操作指南准备工作所需工具容量≥8GB的U盘(建议USB 3.0,速度更快)一台可联网的电脑(Windows/macOS/Linux均可)Linux系统镜像文件(如Ubuntu、Fedora等)U盘启动盘制作工具(推荐开源工具):Windows:Rufus(首选)或BalenaEt……

    2025年6月13日
    15600
  • Linux命令行如何使用?新手入门到实用的操作方法与技巧详解

    Linux命令行是Linux系统的核心交互方式,通过文本指令直接与系统通信,相比图形界面更高效、灵活,尤其适合服务器管理、自动化任务和深度系统操作,掌握命令行使用是Linux用户的必备技能,下面从基础结构、常用操作、权限管理、进程控制等方面详细介绍,Linux命令行基础结构Linux命令格式统一为“命令选项参数……

    2025年9月22日
    13300
  • 在Linux系统中如何彻底卸载Oracle数据库并清理所有残留?

    在Linux系统中卸载Oracle数据库需要谨慎操作,涉及服务停止、文件清理、用户组删除等多个步骤,不同版本的Oracle(如11g、12c、19c等)和Linux发行版(如RHEL、Ubuntu等)可能存在差异,但核心流程基本一致,以下是详细的卸载步骤及注意事项,确保彻底清理Oracle相关组件,避免残留文件……

    2025年8月30日
    15700
  • cdlinux如何导出握手包?操作步骤方法详解

    在无线网络安全测试中,握手包是验证WiFi安全性的关键数据,它包含客户端与AP(无线接入点)在四次握手过程中交换的加密信息,可用于后续的密码破解,CDLinux作为一款轻量级的无线安全审计系统,凭借其集成的工具链和简洁的操作界面,成为导出握手包的常用平台,以下将从准备工作、操作步骤、工具使用及注意事项等方面,详……

    2025年8月23日
    14300
  • Linux无法识别U盘?解决方法大全

    U盘识别原理当U盘插入Linux系统时:内核检测:内核通过udev服务自动识别USB设备,加载驱动(如usb-storage),挂载点创建:系统通常将U盘挂载到/media/用户名/或/run/media/用户名/目录,文件系统支持:Linux支持FAT32/NTFS/exFAT等常见格式,若无法识别需额外工具……

    2025年7月17日
    15500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信