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

推荐订阅源

WordPress大学
WordPress大学
V2EX - 技术
V2EX - 技术
Jina AI
Jina AI
有赞技术团队
有赞技术团队
美团技术团队
月光博客
月光博客
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
人人都是产品经理
人人都是产品经理
Security Latest
Security Latest
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
罗磊的独立博客
J
Java Code Geeks
博客园 - Franky
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
量子位
T
Threatpost
T
Tailwind CSS Blog
V
Visual Studio Blog
C
Cisco Blogs
雷峰网
雷峰网
博客园 - 【当耐特】
T
Tor Project blog
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园_首页
H
Heimdal Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 聂微东
爱范儿
爱范儿
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Threat Research - Cisco Blogs
T
Troy Hunt's Blog
H
Hacker News: Front Page
T
Tenable Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint

博客园 - dirgo

Oracle关联表删除数据和更新数据 logback-spring.xml引入了base.xml日志文件默认生成在哪里? application.yml中Logback相关配置 org/springframework/boot/logging/logback/defaults.xml的内容和作用 logback-spring.xml 中<include resource="org/springframework/boot/logging/logback/base.xml"/>作用 Spring Boot 项目 Logback 日志框架配置文件logback-spring.xml详解 Oracle DataBaseLink 提示密码过期 梅特勒托-托利多衡器串口连续输出数据格式的说明 utf-8编码详解 mybaits updateWrapper更新报错:无效的列类型: 1111 @RequestPart和@RequestParam有什么区别 如何避免Mass Assignment漏洞? 关于vxe-table v4 导出大数据量excel浏览器卡死问题的解决 开源的Linux换源和安装docker脚本 wsl常用命令 使用网页静默打印 在Oracle中,授予用户角色和权限 mobaxterm常用配置 Windows下udp工具 Oracle表空间用户授权创建dblink等操作 用nmap扫描找出某个网段下空闲的ip脚本 Oracle 19c 常用运维 SQL Linux下设置CDB/PDB 环境的Oracle19c开机启动 Oracle是 CDB/PDB 环境下,让PDB在数据库启动后自动打开 怎样禁止dbeaver点击导航中数据库自动切换sql编辑器所属的数据库 Oracle 19c占内存高的解决方法 sudo -i -u zhangsan 与su - zhangsan区别,在现代 Linux 系统中,推荐使用 sudo 进行权限切换 Linux 的目录结构英文全称(及可能的命名背景)和更详细的说明 利用 Logback 的热加载特性,安全的迁移日志,改变日志保存路径 Linux中查询进程内存占用 iotDB调整内存占用及注意事项 Eclipse Milo 处理PLC&quot;字(Word)&quot;类型,最直接和正确的做法是使用其内置的 UShort 类型 centos7.9安装minio RELEASE.2025-04-22T22-12-26Z centos7.9编译安装nginx 1.28.1 linux(centos7.9)编译安装redis7.2.4 UFW 防火墙常用命令速查表
Linux下查看当前哪些端口在监听状态,哪些端口在连接状态
dirgo · 2026-03-17 · via 博客园 - dirgo

一、查看监听端口

方法1:使用 ss 命令(推荐)

# 查看所有监听端口
ss -l

# 查看所有监听端口(显示端口号而非服务名)
ss -ln

# 查看所有TCP监听端口
ss -ltn

# 查看所有UDP监听端口
ss -lun

# 查看所有监听端口及其对应进程
ss -lntp

# 常用组合:显示TCP监听端口+进程信息
ss -lntp

输出示例:

State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port  Process
LISTEN  0       128     0.0.0.0:22          0.0.0.0:*          users:(("sshd",pid=1234,fd=3))
LISTEN  0       128     127.0.0.1:631       0.0.0.0:*          users:(("cupsd",pid=567,fd=7))
LISTEN  0       511     *:80                *:*                users:(("nginx",pid=890,fd=6))

方法2:使用 netstat 命令(传统方式)

# 查看所有监听端口
netstat -l

# 查看所有监听端口(数字形式显示)
netstat -ln

# 查看TCP监听端口
netstat -ltn

# 查看UDP监听端口
netstat -lun

# 查看监听端口+进程信息
netstat -lntp

方法3:使用 lsof 命令

# 查看所有监听端口
lsof -i -P -n | grep LISTEN

# 查看指定端口的监听情况
lsof -i :80

二、查看连接状态

方法1:使用 ss 命令(推荐)

# 查看所有连接
ss -a

# 查看所有TCP连接
ss -at

# 查看所有TCP连接(数字形式,不解析服务名)
ss -atn

# 查看已建立的连接
ss -n state established

# 查看特定状态的连接
ss -n state syn-sent
ss -n state syn-recv
ss -n state time-wait
ss -n state close-wait

# 查看连接及其进程信息
ss -atnp

输出示例:

State      Recv-Q  Send-Q  Local Address:Port   Peer Address:Port   Process
ESTAB      0       0       192.168.1.100:22     192.168.1.200:54321  users:(("sshd",pid=2345,fd=4))
TIME-WAIT  0       0       192.168.1.100:80     192.168.1.50:12345
ESTAB      0       0       192.168.1.100:3306   192.168.1.100:45678  users:(("mysqld",pid=789,fd=10))

方法2:使用 netstat 命令

# 查看所有连接
netstat -a

# 查看所有TCP连接
netstat -at

# 查看所有TCP连接(数字形式)
netstat -atn

# 查看所有UDP连接
netstat -au

# 查看连接+进程信息
netstat -atnp

# 查看特定状态的连接
netstat -an | grep ESTABLISHED
netstat -an | grep TIME_WAIT
netstat -an | grep SYN

三、常用命令参数说明

参数 说明
-l 显示监听状态的端口
-t 显示TCP端口
-u 显示UDP端口
-n 以数字形式显示地址和端口(不解析服务名)
-p 显示进程信息(需要root权限)
-a 显示所有连接(包括监听和非监听)

四、TCP连接状态说明

状态 说明
LISTEN 等待连接请求
SYN-SENT 发送连接请求后等待匹配的连接请求
SYN-RECEIVED 收到和发送连接请求后等待确认
ESTABLISHED 连接已建立,数据传输中
FIN-WAIT-1 等待远程TCP连接中断请求确认
FIN-WAIT-2 等待远程TCP连接中断请求
CLOSE-WAIT 等待本地用户中断连接
CLOSING 等待远程TCP连接中断请求确认
LAST-ACK 等待原来发往远程TCP连接中断请求的确认
TIME-WAIT 等待足够时间确保远程TCP收到中断请求确认
CLOSED 连接已关闭

五、实用技巧

1. 统计各状态连接数

ss -atn | awk 'NR>1 {print $1}' | sort | uniq -c | sort -rn

# 输出示例:
#    45 ESTAB
#    12 TIME-WAIT
#     5 LISTEN

2. 查看占用端口最多的进程

ss -atnp | awk '{print $7}' | sort | uniq -c | sort -rn | head

3. 查看指定端口详情

ss -tlnp | grep :80
# 或
lsof -i :80

4. 查看连接数最多的IP

ss -atn | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head

总结

需求 推荐命令
查看监听端口 ss -ltn
查看监听端口+进程 ss -ltnp
查看所有连接 ss -atn
查看已建立连接 ss -n state established
统计连接状态 ss -atn | awk 'NR>1 {print $1}' | sort | uniq -c

💡 建议:现代Linux发行版推荐使用 ss 命令,它比 netstat 更快,因为 ss 直接从内核获取信息,而 netstat 需要读取 /proc 文件系统。