惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
Google Developers Blog
博客园 - 叶小钗
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
博客园_首页
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
Help Net Security
Help Net Security
Cloudbric
Cloudbric
AI
AI
N
News | PayPal Newsroom
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
SecWiki News
SecWiki News
H
Heimdal Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
V
V2EX
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
S
Security Affairs
L
LangChain Blog
The Hacker News
The Hacker News
F
Full Disclosure
aimingoo的专栏
aimingoo的专栏
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
Webroot Blog
Webroot Blog
A
About on SuperTechFans
H
Hacker News: Front Page
Cyberwarzone
Cyberwarzone
WordPress大学
WordPress大学
L
LINUX DO - 热门话题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
M
MIT News - Artificial intelligence

码云笔记

Pinia v4 发布:Vue 状态管理进入新时代 Linux LVM:故障排查与数据恢复指南 Java中wait()与sleep()方法的不同点是什么? Bonsai27B 重磅落地!27B 大模型实现手机本地运行 ES2026 第 17 版新增的 5 个新特性 高德重磅上线 ABot‑World Studio,消费级显卡就能搭建专属 3D 虚拟世界 Java中final、finally和finalize的区别是什么? 怎么修改Ollama及其模型的默认路径?Ollama路径修改、迁移与重启的操作教程 iOS27 公开测试版正式上线!AI Siri 与液态玻璃成最大看点 Yuku正式发布!比 Vite+ 快 5.4 倍的前端工具链 Linux lsof 命令详解:进程与文件监控实战 Claude Code CLI命令手册 代码审查重构Bug修复场景化工作流 OpenClaw中连接并使用本地Ollama模型的操作教程 GPT-5.6 今天正式上线:OpenAI 掏出”太阳系”全家桶,Sol / Terra / Luna 齐发,打的却是一张”效率牌” Nacos MySQL持久化部署完整教程 GPT-5.6系列正式上线:OpenAI以效能与性价比重塑AI行业竞争格局 Java中序列化与反序列化的概念是什么? 如何在HTML中实现字体颜色根据背景自动变化? JDK动态代理与CGLIB动态代理的区别是什么? OpenClaw数据加密敏感信息保护的完整教程 砸超亿美元算力!亚马逊秘密启动Moonraker项目,Alexa迎来颠覆性升级 PHP 最轻量、结构化 .docx 到 Markdown 转换器 Elephant TypeScript 7.0 正式发布 蚂蚁灵波开源全球首款 MoE 具身视频大模型 LingBot-Video,为机器人世界模型搭建新底座 SpaceX AI联合Cursor推出Grok 4.5 搅动专业AI赛道格局 英伟达Vera CPU落地商用,改写AI代理时代算力竞争规则 什么是端点检测与响应(EDR)以及它的工作原理介绍 Anime.js 已经 10 岁了!作者查出脑瘤,V5 将开始收费! 星链开启全面升级!SpaceX申请十万颗卫星,构建AI时代全球天基基建 PHP 通用表达式语言 CEL-PHP 2.0.0 正式发布! WordPress 7.0 下载,支持AI建站 Docker Desktop(windows)版本下载 京东 JoyAI 上线 UGC 数字人功能,普通人一键打造专属虚拟分身 Java中Integer缓存池的作用是什么? 应对劳动力短缺 日本加码布局AI机器人产业,2040年拟千万台机器人落地各行各业 Java中深拷贝与浅拷贝的区别是什么? Claude旗舰模型收费规则大变:订阅权益取消,转为按量计费 MySQL中的分布式架构和复制策略 如何在 MySQL 中处理 BLOB 和 CLOB 数据类型? 如何在 MySQL 中处理和优化长时间运行的查询? git提交信息分别用什么icon好? Composer安装与配置教程 35岁华为员工偷偷面试,被面试官嘲讽:你是被淘汰的吧?他的回怼让面试官当场闭嘴 谷歌Nano Banana 2 Lite正式上线:4秒极速出图,大幅降低AI生图成本 锐捷交换机运维配置完全参考手册 Vue 3.5:Effect Scope 与响应式污染隔离机制 IS-IS协议基本概念、工作原理与扩展应用 美团LongCat-2.0重磅开源!国产万亿参数大模型解锁超长上下文新能力 LangChain4j 和 LangGraph4j 区别是什么?哪个更好? Claude Code 的聊天和配置可以一键搬进 Codex 了 码云笔记详解Markdown格式兼容性、图片显示失效与同步冲突解决 python实现自动爬取某论坛帖子并导出到Word文档的实战教程 高德低调内测 AI 零代码工具“袋马”,切入小微商家轻量化应用开发赛道 一文看懂OSPF:基础概念、工作原理和应用场景 PHP (Yii2) 接入企业级 SSO 单点登录实战教程 Google终于支持修改Gmail邮箱了?实测告诉你哪些能改,哪些不能改!(附详细教程+FAQ) UCloud 4.6 元 / 月服务器是真的吗? 2026 云服务器完整选购攻略 Webiny:无服务器应用程序框架 Fyrox:现代化的 Rust 游戏引擎 千问发布全球首个原生语言世界模型Qwen-AgentWorld,AI智能体迈入全环境实操新时代 火山引擎上新豆包音频生成模型1.0,AI音频生成实现一键全流程创作 使用Claude Code经常遇到的10个问题 如何批量清理wordpress所有文章和标签,保留设置,保留分类? 谷歌 NotebookLM 内测文献综述矩阵工具,Gemini3.5 赋能 AI 学术结构化研究 京东开源JoyAI-VL-Interaction模型 解锁AI实时视频视觉交互新形态 破解中小商家海报设计难题!MeiGen-AI开源闭环AI设计方案落地 详解Bash set 命令:set -e、set -x 和 set -u 完全指南 Node Plus ?比 pnpm 快 24 倍! Plan-Execute-Replan 和 ReAct 的区别是什么? Anthropic最新报告揭秘:AI编程人机协作成开发者主流工作模式 详解PostgreSQL 18 逻辑复制冲突检测与解决方法 JDK动态代理与CGLIB动态代理的区别是什么? 详解 Linux 中 localhost、127.0.0.1 与 Loopback(回环地址) OpenAI Codex新手入门教程 安装配置AGENTS.md与MCP全流程详解 程序员必备AGENTS.md配置指南 规避AI编码修改乱象 使用 Codex 必装的 12 个插件,你值得拥有! macOS AI CLI工具安装与避坑指南 OpenClaw Gemini Claude报错全套解决方案 智谱AI正式开源GLM-5. 2 模型:主打1M无损上下文与长程代码任务 小米 MiMo Claw 正式版上线 轻量化 Agent 打通金山办公生态 如何定义 Vue 的动态路由?如何获取传过来的动态参数? 记录Claude Code Router 接入过程遇到问题及解决方法 千问AI眼镜凭硬核实力领跑2026智能穿戴赛道 程序员特有的习惯你占了几条! 郝景芳新作半数内容由AI创作,文坛郝景芳AI写作争议再起 使用 iftop、nload、bmon、vnstat 监控 Linux 网络带宽 现代富文本编辑器为什么最终都会抛弃 DOM? Vue 的 v-cloak 和 v-pre 指令有什么作用? 去哪里买抖音号?抖音小号在线购买-抖音小号出售批发 实名闲鱼小号出售|闲鱼账号批发|咸鱼发布账号|出售闲鱼发布账号 zfb号购买-支付宝小号购买-实名支付宝购买号-企业支付宝购买-支付宝小号批发 个人支付宝实名账号出售|v2/v3支付宝账号出售|实名支付宝小号购买 闲鱼账号哪里有卖-闲鱼实名账号购买的途径 Java注解的实现原理是什么? Agentation MemPalace 《置身钉内》之好词好句好段摘抄 AI有声书革命!万象有声全自动生产线,7元/万字颠覆网文有声化行业 详解CentOS 7跨版本迁移Rocky Linux9 生产环境安全升级教程 Java中序列化与反序列化的含义是什么? 18. Python 标准库之 Json 模块
详解 Linux 端口监听检查工具:ss、netstat、lsof
兰邹 普通 · 2026-07-06 · via 码云笔记

AI 概述

本文介绍Linux排查监听端口的三款工具:ss、netstat、lsof。ss速度快为现代首选;netstat是经典工具但已淘汰,需手动安装;lsof基于一切皆文件,可查看端口、进程、用户关联。文中给出各工具常用查询、端口检索命令,说明权限、过滤写法等注意事项,并整理速查表,区分三款工具适用运维场景,方便定位端口冲突、服务异常等网络问题。

目录

文章目录隐藏

  1. 1. 什么是监听端口
  2. 2. ss 命令:现代首选工具
  3. 3. netstat 命令:经典兼容工具
  4. 4. lsof 命令:文件视角的端口检查
  5. 5. 常见问题与注意事项
  6. 6. 快速参考表
  7. 7. 总结

详解 Linux 端口监听检查工具:ss、netstat、lsof

在 Linux 系统运维和故障排查过程中,检查端口监听状态是最基础也是最重要的操作之一。通过查看哪些端口正在被监听,可以快速定位服务是否正常运行、排查端口冲突问题、以及识别潜在的安全风险。本文将详细介绍三款常用的端口检查工具:ss、netstat 和 lsof,帮助系统管理员高效完成网络诊断工作。

1. 什么是监听端口

在深入工具使用之前,有必要先理解”监听端口”的概念。

监听端口是指应用程序或进程在特定网络端口上等待传入连接的网络端点。每个监听端口由以下三个要素唯一标识:

  • 端口号:用于区分不同服务的数字标识(如 80、443、22 等)
  • IP 地址:绑定的网络接口地址
  • 通信协议:TCP 或 UDP

需要特别注意的是,同一 IP 地址、同一协议、同一端口不能被两个服务同时占用。例如,如果 Apache 已经占用了 80 端口,再启动 Nginx 就会因为端口冲突而失败。

2. ss 命令:现代首选工具

工具简介

ss(Socket Statistics)是 netstat 的现代替代品,具有以下优势:

  • 执行速度更快,尤其在处理大量连接时表现优异
  • 提供更详细的 TCP 状态信息
  • 现代 Linux 发行版默认已安装,无需额外安装

常用命令与参数

查看所有监听端口

sudo ss -tunlp

参数说明:

参数 含义
-t 显示 TCP 端口
-u 显示 UDP 端口
-n 显示数字地址,不解析主机名
-l 仅显示监听状态的端口
-p 显示使用该套接字的进程信息(需 root 权限)

典型输出示例:

State    Recv-Q   Send-Q     Local Address:Port      Peer Address:Port
LISTEN   0        128              0.0.0.0:22             0.0.0.0:*      users:(("sshd",pid=445,fd=3))
LISTEN   0        128                    *:3306                 *:*      users:(("mysqld",pid=534,fd=30))
LISTEN   0        128                 [::]:80                [::]:*      users:(("apache2",pid=765,fd=4))

输出关键字段解析:

  • State:套接字状态,LISTEN 表示端口正在等待传入连接
  • Local Address:Port:进程监听的 IP 地址和端口号
  • users:使用该套接字的进程名称和 PID

查找特定端口的监听进程

方法一:使用 grep 过滤

sudo ss -tnlp | grep :22

方法二:使用 ss 内置过滤(推荐,效率更高)

sudo ss -tlnp sport = :22

查看已建立的连接

ss -tn state established

工具简介

netstat 是一款历史悠久的网络统计工具,虽然已被标记为”过时(obsolete)”,但由于其广泛的兼容性和熟悉的输出格式,仍然在许多环境中被使用。

注意:现代 Linux 发行版默认不安装 netstat,需要手动安装 net-tools 包。

安装方法

# Debian/Ubuntu 系列:

sudo apt install net-tools

# RHEL/CentOS/Fedora 系列:

sudo dnf install net-tools

常用命令

查看所有监听端口

sudo netstat -tunlp

参数含义与 ss 完全相同:-t(TCP)、-u(UDP)、-n(数字地址)、-l(仅监听)、-p(进程信息)。

典型输出示例:

[root@myzc*** ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      768/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1500/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1129/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1132/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1237/master         
tcp6       0      0 :::111                  :::*                    LISTEN      768/rpcbind         
tcp6       0      0 :::1521                 :::*                    LISTEN      125320/tnslsnr      
tcp6       0      0 :::22                   :::*                    LISTEN      1129/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1132/cupsd          
tcp6       0      0 :::13624                :::*                    LISTEN      125533/ora_d000_yyz 
tcp6       0      0 ::1:25                  :::*                    LISTEN      1237/master         
tcp6       0      0 :::5500                 :::*                    LISTEN      125320/tnslsnr      
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           751/avahi-daemon: r 
udp        0      0 0.0.0.0:34426           0.0.0.0:*                           751/avahi-daemon: r 
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1500/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1500/dnsmasq        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           768/rpcbind         
udp        0      0 0.0.0.0:924             0.0.0.0:*                           768/rpcbind         
udp6       0      0 ::1:42913               :::*                                125533/ora_d000_yyz 
udp6       0      0 ::1:40392               :::*                                125535/ora_s000_yyz 
udp6       0      0 ::1:16463               :::*                                125520/ora_lreg_yyz 
udp6       0      0 :::111                  :::*                                768/rpcbind         
udp6       0      0 :::924                  :::*                                768/rpcbind         
[root@myzc*** ~]#

查找特定端口的监听进程

[root@myzc*** ~]# netstat -tnlp | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1129/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1129/sshd           
[root@myzc*** ~]#

4. lsof 命令:文件视角的端口检查

工具简介

lsof(List Open Files)是一款功能强大的工具,用于查看进程打开的文件。在 Linux 的设计理念中,一切皆文件,网络套接字也不例外。因此,lsof 同样可以用于检查端口监听状态,其独特优势在于能够清晰地展示进程、用户与端口之间的关联关系。

常用命令

查看所有监听的 TCP 端口

sudo lsof -nP -iTCP -sTCP:LISTEN

参数说明:

参数 含义
-n 不解析主机名,显示数字地址
-P 不将端口号转换为服务名
-iTCP 仅显示 TCP 网络文件
-sTCP:LISTEN 仅显示 TCP 状态为 LISTEN 的套接字

典型输出示例:

COMMAND      PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rpcbind      768    rpc    8u  IPv4   20145      0t0  TCP *:111 (LISTEN)
rpcbind      768    rpc   11u  IPv6   20148      0t0  TCP *:111 (LISTEN)
sshd        1129   root    3u  IPv4   26143      0t0  TCP *:22 (LISTEN)
sshd        1129   root    4u  IPv6   26145      0t0  TCP *:22 (LISTEN)
cupsd       1132   root   10u  IPv6   27882      0t0  TCP [::1]:631 (LISTEN)
cupsd       1132   root   11u  IPv4   27883      0t0  TCP 127.0.0.1:631 (LISTEN)
master      1237   root   13u  IPv4   27356      0t0  TCP 127.0.0.1:25 (LISTEN)
master      1237   root   14u  IPv6   27357      0t0  TCP [::1]:25 (LISTEN)
dnsmasq     1500 nobody    6u  IPv4   29413      0t0  TCP 192.168.122.1:53 (LISTEN)
tnslsnr   125320 oracle    8u  IPv6 2046821      0t0  TCP *:1521 (LISTEN)
tnslsnr   125320 oracle   16u  IPv6 2054255      0t0  TCP *:5500 (LISTEN)
ora_d000_ 125533 oracle    8u  IPv6 2054158      0t0  TCP *:13624 (LISTEN)

输出关键字段解析:

  • COMMAND:进程名称
  • PID:进程 ID
  • USER:运行该进程的用户
  • NAME:监听的地址和端口号

查找特定端口的监听进程

sudo lsof -nP -iTCP:3306 -sTCP:LISTEN

5. 常见问题与注意事项

进程信息列显示为空

如果在使用-p 参数时发现进程信息列空白,最常见的原因是权限不足。端口所属的进程信息只有 root 用户或具有 sudo 权限的用户才能查看。解决方法是使用 sudo 执行命令。

监听端口与已建立连接的混淆

-l 参数的作用是仅显示处于 LISTEN 状态的端口。如果省略该参数,工具会显示所有连接状态(包括 ESTABLISHED 等),导致输出信息过多。如果目的是检查服务是否正常运行,务必加上-l 参数。

使用 grep 过滤端口时的常见错误

在使用 grep 按端口号过滤时,必须包含冒号。例如,应使用 grep :22 而不是 grep 22。后者会错误匹配 PID、IP 地址中包含数字 22 的其他行,导致结果不准确。

6. 快速参考表

任务 命令
列出所有监听端口(ss) sudo ss -tunlp
列出所有监听端口(netstat) sudo netstat -tunlp
查找特定端口的进程(ss 内置过滤) sudo ss -tlnp sport = :80
查找特定端口的进程(grep 过滤) sudo ss -tnlp | grep :80
列出所有监听 TCP 端口(lsof) sudo lsof -nP -iTCP -sTCP:LISTEN
查找端口 3306 的进程(lsof) sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
显示已建立的连接 ss -tn state established
显示所有连接及进程信息 sudo ss -tunp

7. 总结

三款工具各有特点,适用于不同的场景:

  • ss:现代 Linux 系统的首选工具,速度快、信息全面、默认安装,推荐在日常运维中优先使用。
  • netstat:经典工具,适合需要与旧系统兼容或团队成员更熟悉其输出格式的场景,但需注意其已被标记为过时。
  • lsof:从文件和进程视角出发,特别适合需要同时查看端口、进程和用户关联关系的深度排查场景。

以上关于详解 Linux 端口监听检查工具:ss、netstat、lsof的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

33

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 详解 Linux 端口监听检查工具:ss、netstat、lsof