# 群晖DSM查询端口占用(SSH命令,DSM7/6通用) # 群晖 DSM 查询端口占用(SSH 命令,DSM7/6 通用) > 前置:控制面板 → 终端机和 SNMP,**开启 SSH**,用管理员账号 ssh 登录群晖,建议`sudo -i`切换 root,才能看到全部进程 PID。 > > ## 1、查看全部监听端口(最常用 netstat) ```bash # 查看所有TCP/UDP监听端口,显示PID进程名 netstat -tulpn ``` 参数说明: - `-t` TCP,`-u` UDP,`-l` 仅监听端口,`-p` 显示进程 PID,`-n` 数字 IP 不解析域名 ## 2、查询**指定端口**(例如查 7890、9090、53,替换数字) ```bash # 查端口7890 netstat -tulpn | grep 7890 ``` ## 3、新版推荐 ss 命令(更快,DSM7 自带,替代 netstat) ```bash # 全部监听端口 ss -tulpn # 筛选指定端口 ss -tulpn | grep 7890 ``` ## 4、查看已经建立的连接(已连通的连接) ```bash netstat -anp ``` ## 5、查找端口对应的进程 PID 后,查看进程详情 ```bash # PID替换成查到的数字 ps -ef | grep ``` ## 6、Docker 容器端口占用(重点!你部署 qb / 容器常用) > netstat/ss 在宿主机看到的是**宿主机映射端口**;容器内部端口要进入容器内查看。 > > ```bash # 列出所有容器端口映射 docker ps ``` ## 7、图形界面方法(不用 SSH) DSM 网页:**资源监视器 → 网络**,查看监听端口; 或 控制面板 → 信息中心 → 服务,查看各套件占用端口。 ## ⚠️ 重要提示 1. 不加`sudo`执行,很多进程**看不到 PID**,只显示`-` 2. 群晖内置 nginx 占用 5000/5001/80/443,是 DSM 网页服务 3. Docker 端口转发:宿主机 netstat 看到的是宿主机映射端口,**容器内部进程要进容器内执行 netstat** ## 快速示例:查 qbittorrent 端口 ```bash sudo netstat -tulpn | grep 7890 ``` 要不要我把这一段追加到前面那份综合 Markdown 文档? > (注:部分内容由豆包工作 AI 生成)