Linux如何查看电脑当前开放的端口是多少?

在Linux系统中,端口是网络通信的重要标识,每个端口对应一个特定的服务或进程,查看端口状态(如是否监听、被占用、所属进程等)是系统管理和网络故障排查的常见需求,本文将详细介绍Linux下查看端口的多种方法,包括常用命令的参数、示例及适用场景,帮助用户灵活应对不同场景下的端口查询需求。

linux如何产看电脑 端口是多少

端口的基本概念

端口是TCP/IP协议中用于区分不同服务的逻辑 endpoint,取值范围为0-65535,0-1023为知名端口(如HTTP服务的80端口、SSH服务的22端口),1024-49151为注册端口,49152-65535为动态或私有端口,在Linux中,端口状态可分为“监听”(LISTEN,等待连接)、“已连接”(ESTABLISHED,通信中)、“关闭”(CLOSED,未使用)等,了解这些状态有助于判断服务是否正常运行及网络连接是否正常。

使用ss命令查看端口(推荐方法)

ss是Linux下新一代的网络连接工具,属于iproute2包,相比传统的netstat命令,ss在性能和功能上更优,尤其是在处理大量连接时速度更快,ss命令通过读取内核中的netlink套接字信息,实时获取网络连接状态。

常用参数及功能

  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听(LISTEN)状态的端口
  • -n:以数字形式显示地址和端口,不解析域名和服务名(提高查询速度)
  • -p:显示占用端口的进程ID(PID)和进程名
  • -a:显示所有端口(包括监听和非监听)

示例操作

  1. 查看所有监听的TCP和UDP端口

    ss -tuln

    输出结果包含协议(State)、本地地址(Local Address:Port)、对端地址(Peer Address:Port)等信息,

    State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port  
    LISTEN  0       128          0.0.0.0:22          0.0.0.0:*  
    LISTEN  0       4096         127.0.0.1:631       0.0.0.0:*  

    0.0.0:22表示系统在所有网络接口上监听22端口(SSH服务)。

  2. 查看指定端口的占用情况
    若需查看80端口是否被占用,可结合grep过滤:

    ss -tuln | grep ':80'

    若输出包含LISTEN,表示80端口被监听;若无输出,则端口未被使用。

  3. 查看端口对应的进程信息
    添加-p参数可显示占用端口的进程详情:

    ss -tulpn | grep ':3306'

    输出示例:

    LISTEN  0       80               0.0.0.0:3306         0.0.0.0:*    users:(("mysqld",pid=1234,fd=11))

    可知3306端口被MySQL进程(mysqld,PID=1234)占用。

    linux如何产看电脑 端口是多少

使用netstat命令查看端口(传统方法)

netstat是早期的网络工具,属于net-tools包,虽然功能被ss替代,但在一些旧系统中仍常用,其参数与ss类似,但性能较差,适合少量连接查询。

常用参数及功能

  • -t:TCP端口
  • -u:UDP端口
  • -l:监听端口
  • -n:数字形式显示
  • -p:显示进程ID和名称
  • -a:所有端口

示例操作

  1. 查看所有监听端口

    netstat -tuln
  2. 查看指定端口及进程

    netstat -tulpn | grep ':8080'

使用lsof命令查看端口占用

lsof(list open files)用于列出系统中被进程打开的文件,包括网络端口(端口本质也是一种文件),通过lsof可快速定位占用端口的进程,尤其适合已知端口查找进程的场景。

常用参数及功能

  • -i:指定协议和端口,格式为[协议]:[端口](如-i :80-i tcp:22
  • -P:不显示端口号对应的服务名(避免DNS解析延迟)
  • -n:不解析主机名
  • -t:仅显示PID(简化输出)

示例操作

  1. 查看80端口被哪个进程占用

    lsof -i :80

    输出示例:

    COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME  
    nginx     567   root    6u  IPv4   1234      0t0  TCP *:http (LISTEN)  
    nginx     568   www     7u  IPv4   1235      0t0  TCP *:http (LISTEN)  

    可知nginx进程(PID=567和568)占用80端口。

  2. 仅显示占用端口的PID

    lsof -ti :8080

    输出直接为进程ID(如789),便于后续kill操作。

通过/proc文件系统查看端口(底层方法)

/proc是Linux内核提供的虚拟文件系统,包含系统运行时的实时数据,如网络连接状态、进程信息等,通过读取/proc/net/tcp和/proc/net/udp文件,可查看TCP和UDP端口的底层信息,适合高级调试。

linux如何产看电脑 端口是多少

示例操作

  1. 查看所有监听的TCP端口

    cat /proc/net/tcp | awk '{print $10}' | sort -u

    输出为十六进制格式的本地端口地址(如0016表示22端口),需通过printf '%dn' 0x0016转换为十进制。

  2. 查看指定端口状态
    以80端口为例,先转换为十六进制(80=0x50),再过滤:

    grep "50:" /proc/net/tcp

    输出中的状态字段(如0A表示LISTEN)可对照内核协议状态码理解。

不同查看方法的对比

为方便用户选择,以下表格总结常用端口查看工具的特点:

命令 适用场景 优点 缺点
ss 日常查看、高并发场景 速度快、功能全面、支持最新协议 部分旧系统可能未预装
netstat 兼容旧系统、少量连接 参数直观、广泛支持 性能较差、逐渐被ss替代
lsof 端口-进程关联查询 精确定位进程、支持文件类型过滤 仅显示已打开的端口,无状态信息
/proc 底层调试、内核级分析 数据实时、无需额外工具 输出复杂、需手动解析十六进制

相关问答FAQs

Q1: 如何查看端口被哪个进程占用,并强制终止该进程?
A: 可通过ss -tulpn | grep ':端口号'lsof -i :端口号查看占用进程的PID,然后使用kill -9 PID强制终止(如kill -9 1234),注意:强制终止可能导致服务异常,建议先尝试kill PID(正常终止)。

Q2: 为什么ss命令比netstat更推荐?
A: ss命令通过netlink直接与内核通信,数据获取效率更高,尤其在处理大量连接(如高并发服务器)时速度远快于netstat;同时ss支持更多网络协议和状态统计(如TCP的快速打开状态),且是iproute2包的一部分,在新系统中默认预装,维护更积极,netstat作为旧工具,性能和功能已滞后,逐渐被ss替代。

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

(0)
酷番叔酷番叔
上一篇 2025年9月29日 01:11
下一篇 2025年9月29日 01:32

相关推荐

  • Linux系统如何打开光盘?操作步骤有哪些?

    在Linux系统中,操作光盘(如CD、DVD)需要理解“挂载”这一核心概念——即通过将光盘的文件系统关联到Linux目录树中的某个节点,使系统能够访问光盘内的数据,以下是详细的操作步骤和注意事项,涵盖命令行和图形界面两种方式,适用于主流Linux发行版(如Ubuntu、CentOS、Debian等),Linux……

    2025年9月15日
    2300
  • linux如何启动orcale

    Linux 中,启动 Oracle 通常先以 oracle 用户登录,然后进入相应

    2025年8月15日
    3500
  • Linux 内核如何合入patch补丁文件?

    在Linux开发与维护中,合入补丁(Patch)是一项核心操作,无论是修复安全漏洞、优化性能还是新增功能,都依赖于将代码变更以补丁形式准确应用到目标代码库中,补丁本质上是记录源代码变更差异的文件,常见的格式包括unified diff(.patch/.diff)和Git格式补丁(.patch),其核心价值在于可……

    2025年10月7日
    900
  • Linux系统下硬盘故障如何修复数据并保证系统稳定?

    Linux系统如何修复硬盘硬盘作为数据存储的核心设备,其稳定性直接关系到系统安全和数据完整性,在Linux系统中,由于长期运行、意外断电或硬件老化,硬盘可能出现文件系统错误、坏道、分区表损坏等问题,本文将详细介绍Linux系统下硬盘修复的常见场景、操作步骤及注意事项,帮助用户高效解决硬盘故障,保障数据安全,常见……

    2025年9月10日
    2600
  • linux系统如何ftp

    Linux 系统中,可安装 ftp 客户端软件,使用 ftp 命令连接服务器,进行

    2025年8月15日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信