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

相关推荐

  • linux系统如何打开运行程序

    Linux 系统中,可通过终端输入程序路径及参数运行,或在图形界面找到可执行

    2025年8月13日
    4500
  • 如何判断mbr gpt linux

    查看分区表信息判断,用fdisk -l,若含

    2025年8月16日
    5100
  • Linux系统如何实现IP地址映射?

    在Linux系统中,IP映射通常指将一个IP地址或端口与另一个IP地址或端口建立关联,实现网络流量的转发、负载均衡或虚拟化服务访问,常见的映射类型包括端口转发(DNAT/SNAT)、虚拟IP绑定(VIP)以及NAT地址转换等,广泛应用于服务器内网穿透、多服务端口共享、高可用集群等场景,以下从原理、工具和配置步骤……

    2025年9月23日
    3600
  • Linux下载卡住?怎样秒停!

    停止命令行下载工具(如 wget/curl)直接中断当前下载在运行wget或curl的终端中,按 Ctrl + C 强制终止进程,示例:wget https://example.com/large-file.zip # 下载中…# 按 Ctrl + C 立即停止恢复未完成的下载(可选)wget支持断点续传……

    2025年8月4日
    5800
  • linux中如何复制文本文件

    Linux 中,可以使用 cp 命令复制文本文件,`cp source.

    2025年8月9日
    5200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信