298 字
1 分钟
PortCheck 绿联 NAS 端口检测应用
AI 智能摘要
AI 正在生成文章简介,请稍候...
最近申请了绿联NAS的开发者服务,我们在部署Docker的时候会出现端口冲突,但又没什么好的方法快速定位所以就写了这个app。
界面

功能特性
- 端口扫描:扫描 TCP / UDP(含 IPv4 与 IPv6)监听端口。
- 进程识别:显示每个端口的端口号、协议、监听地址。
- 进程信息:显示占用端口的进程名与 PID。
- 容器识别:若进程运行在 Docker 容器内,显示 Docker 容器名(通过 cgroup 识别,并解析
docker ps容器名)。 - 筛选与刷新:支持按协议筛选、仅显示 Docker 进程,并定时自动刷新。
技术栈
| 分类 | 技术 |
|---|---|
| 后端 | Go 1.22 |
| 前端 | Vue 3 + TypeScript |
| 构建 | Vite 6 + @ugreen-nas/builder-open |
| 路由 | Vue Router 4 |
| 打包 | ugcli v1.1.0.12 |
工作原理
后端读取 Linux /proc 文件系统完成检测:
- 解析
/proc/net/tcp、/proc/net/udp、/proc/net/tcp6、/proc/net/udp6,提取监听端口与对应 socket inode。 - 遍历
/proc/<pid>/fd,通过符号链接socket:[inode]匹配占用端口的进程 PID。 - 读取
/proc/<pid>/comm获取进程名。 - 读取
/proc/<pid>/cgroup,若存在docker/<id>或docker-<id>.scope则判定为容器进程,并通过docker ps将容器 ID 解析为容器名。
开源地址
Waiting for api.cnb.cool...
PortCheck 绿联 NAS 端口检测应用
https://16c.top/2026/portcheck/