本文汇总Windows、Linux、Mac及SQL Server查看端口号的多种实用 ,Windows可通过CMD执行netstat命令,或在任务管理器中查看进程关联端口;Linux常用netstat、ss命令列出端口状态,也可借助lsof查询特定进程端口;Mac系统多采用lsof或netstat命令实现;SQL Server除了通过配置管理器查看,还能在数据库中执行特定SQL语句获取端口信息,帮助用户快速掌握不同环境下的端口查询技巧。
在 通信和程序运维中,端口号就像是设备上的“ 门牌号”——每个服务或程序通过特定端口与外界建立连接,无论是排查 故障、定位占用资源的进程,还是确保服务正常运行,学会查看端口号都是一项必备技能,本文将带你全面掌握Windows、Linux、Mac三大主流系统下查看端口号的多种 ,覆盖命令行与图形化工具,满足不同场景需求。
Windows系统:命令行与图形化双渠道
Windows系统提供了多种查看端口的方式,既适合习惯命令行的技术人员,也有直观的图形化工具供普通用户使用。
命令行工具:高效精准
(1)netstat命令:经典端口查看工具
netstat是Windows自带的 统计命令,能显示所有活跃的TCP/UDP连接、监听端口及对应进程ID(PID)。
- 查看所有监听与已连接端口:
netstat -ano
参数解释:
-a:显示所有活跃连接与监听端口-n:以数字形式显示IP地址和端口号(而非域名或服务名)-o:显示占用端口的进程ID(PID)-o配合findstr可精准定位特定端口:netstat -ano | findstr ":8080"
输出中最后一列的数字即为占用8080端口的进程PID,再通过
tasklist | findstr "PID"可查看进程名称:tasklist | findstr "1234"
(2)PowerShell命令:更灵活的端口查询
PowerShell提供了更强大的 管理命令,适合批量或精细化查询:
- 查看本地监听的TCP端口:
Get-NetTCPConnection -State Listen
- 精准查询指定端口的占用情况:
Get-NetTCPConnection -LocalPort 80
图形化工具:直观易操作
(1)任务管理器
- 按下
Ctrl+Shift+Esc打开任务管理器; - 切换到“详细信息”标签页,右键点击表头,选择“选择列”;
- 勾选“端口”,点击确定后即可看到每个进程对应的端口号。
(2)资源监视器
- 在任务管理器的“性能”标签页,点击底部“打开资源监视器”;
- 切换到“ ”标签页,在“TCP连接”或“UDP连接”列表中,可查看所有端口的占用状态与对应进程。
Linux系统:命令行主导,高效运维首选
Linux系统下,命令行工具是查看端口号的主流方式,工具丰富且功能强大,适合服务器运维场景。
ss命令:现代高效的端口工具
ss是netstat的替代工具,速度更快、信息更全面,默认多数Linux发行版已预装:
- 查看所有监听状态的TCP/UDP端口及对应进程:
ss -tulnp
参数解释:
-t:显示TCP端口-u:显示UDP端口-l:仅显示监听状态的端口-n:数字形式显示端口与IP-p:显示占用端口的进程名称与PID
lsof命令:通过进程查端口,精准定位
lsof(List Open Files)可查看进程打开的所有文件,包括 端口:
- 查看指定端口的占用进程:
lsof -i :80
- 查看所有正在使用的 端口:
lsof -i
其他实用
- 通过服务名称查端口:若已知服务名称,可查看其配置文件或服务状态:
systemctl status nginx
输出中通常会包含服务监听的端口信息。
- 查看/etc/services文件:该文件记录了系统默认的端口与服务映射关系:
cat /etc/services | grep "ssh"
Mac系统:类Linux工具+图形化支持
Mac系统的端口查看 与Linux高度相似,同时也提供了友好的图形化工具,兼顾效率与易用性。
命令行工具
- lsof命令:与Linux用法一致,精准定位端口占用:
lsof -i :3306 # 查看3306端口(MySQL默认端口)的占用进程
- netstat命令:查看所有端口状态:
netstat -anp tcp # 查看TCP端口 netstat -anp udp # 查看UDP端口
图形化工具:活动监视器
- 按下
Command+Space打开Spotlight,搜索“活动监视器”并打开; - 切换到“ ”标签页,在“端口列”可查看每个进程对应的端口号,点击表头可排序筛选;
- 若需查看详细连接信息,双击进程,在“打开的文件和端口”中可看到所有关联端口。
实用技巧与常见场景
常见端口号速查
- 80:HTTP服务
- 443:HTTPS服务
- 22:SSH远程连接
- 3306:MySQL数据库
- 8080:常见Web开发测试端口
- 21/22:FTP文件传输
排查端口占用故障
若启动程序时提示“端口已被占用”,可通过以下步骤解决:
- 用上述工具找到占用端口的进程PID;
- Linux/Mac下用
kill -9 PID终止进程,Windows下在任务管理器中右键进程选择“结束任务”; - 若为系统服务占用,可修改服务配置文件更换端口,或停止不必要的服务。
批量查看端口状态
Linux下可通过脚本批量检查多个端口:
for port in 80 443 22; do echo "Port $port status:" ss -tulnp | grep ":$port" done
查看端口号的 因系统而异,但核心逻辑一致:通过命令行工具实现高效批量查询,通过图形化工具满足直观操作需求,在日常运维中,可根据场景灵活选择:服务器环境优先用ss、lsof等命令行工具,桌面环境可借助图形化工具快速定位,掌握这些 ,你将轻松应对 故障排查、进程资源管理等各类场景,让 运维更高效。


还没有评论,来说两句吧...