Clash 开启提示端口被占用?Windows 下用 netstat 查进程并改 mixed-port

先确认:这是「本机端口冲突」,不是「节点连不上」 要点速览

你的目标得以概括成两条:第一,在 Windows 上找出谁占用了与 Clash 配置一致的 TCP 端口,并记下进程 PID;第二,在「结束对方」与「让 Clash 改听别的口」之间做二选一,并保证系统代理、浏览器、其他依赖 127.0.0.1:端口的应用与新的 mixed-port 一致。

规模不小人在Clash 端口被占用时,的第一反应是怀疑订阅或规则坏了。其实,这类给出疏漏出现在核心进程还没能成功监听本机入站口时:与境外节点、DNS 污染或 TUN 权限都无关。

典型表现是:刚安装/覆盖升级某个基于 Mihomo 内核的客户端后,一点「系统代理」或「开启」就无法完成,日志里出现 bind: address already in use、listen tcp 127.0.0.1:7890 一类信息,或图形UI UI UI 界面用中文提示某端口(普遍如 7890、7891、9090)无法启用。

关键点是:下面按可复现顺序写,不展开防火墙策略作主线。若你尚未完成订阅与基础启停,可先对照 Clash 全平台订阅载入指南 与 Clash Verge Rev 采用指南,再回来处理端口困扰。

第一口气:搞清你的配置要占用哪些口(mixed-port 不只是一行 YAML) 关键信息

在动手改数之前,不妨先在客户端的「配置」或「关于」里确认:当前正在采用的是订阅合并后的哪一份 YAML。

Clash 系配置里,与「本机代理入口」最相关的常规是 mixed-port:规模不小图形客户端在UI UI UI 界面上会把它标成「混合端口」或「HTTP 与 SOCKS5 共用的端口」。

若你单独配置了 port(HTTP)与 socks-port,这几个会再各占一个 TCP 口;部分发行版还会为外部控制(external-controller,普遍 9090)、Redir/透明代理、或DNS 监听再申请端口。给出疏漏里提到哪一个数字,就以哪一个为准去查 netstat。

这里要多说一句:如果你刚切换过端口却在UI UI UI 界面里点「重载」而不是「应用」或「以管理员重启服务」,或许仍在读旧口——这会让你误以为改 mixed-port 无效。确认无误后,把给出疏漏里的端口号(举个小例子 7890)记下,供下一节在命令行里检索。

第二步:在 CMD 用 netstat 把「端口」映射到「进程 PID」 关键点梳理

如果 findstr 没有结果,而 Clash 仍报该端口被占用,或许是你搜错了数字(被占用的是 7891/9090 而日志只写了一部分),或存在短暂 TIME_WAIT——此时可稍等数秒再试,或把日志里列出的各个端口都查一遍。

netstat -ano | findstr :7890

在 Windows 上,netstat 与资源监视器都能看端口,但最便于写入文档、也最容易截图求助的是命令行。以管理员或普通用户启用「命令提示符」均可(多数现状下不必管理员就能查看监听)。想查 7890 端口的 TCP 占用,可执行:

输出里会列出协议、本机与外部地址、状态(LISTEN 表示在监听、ESTABLISHED 表示已建连),以及最右侧的进程 PID。

换个说法:若一行里本地地址写成 0.0.0.0:7890 或 127.0.0.1:7890 且状态为 LISTENING,即说明该 PID 正占用你关心的口。对 IPv6 采用采用使用场景有时会出现 [::]:7890,含义类似,仍看同一列 PID 即可。

反之,若 netstat 显示 LISTEN 的正是你本机已知的另一个 Clash 可执行文件,则说明已经有一个实例在跑,见下文「多开与残留」一节。

第三步:用 PowerShell 的 Get-NetTCPConnection(可选,输出更「干净」) 完备说明

其中 OwningProcess 与 netstat 最后一列的 PID 含义相同。若你安装了较新的系统,且希望径直看到映像名,可再结合 Get-Process -Id <PID> 查询进程路径与名称。

Get-NetTCPConnection -LocalPort 7890 -ErrorAction SilentlyContinue |
  Select-Object LocalAddress,LocalPort,State,OwningProcess

在 Windows PowerShell 或「终端」里,也得以用语义更形象的方式查监听在某端口上的进程。举个小例子将 7890 换成你实际的端口:

落到实处:这样在向他人描述困扰时,得以一次说清「端口号、PID、可执行文件」三要素,避免来回调日志。

第四步:从 PID 反查具体程序,并决定是结束还是保留 要点速览

若显示的是已退出但未释放的旧 Clash/内核子进程、或你确认不再要的同类型软件,可右键「结束任务」,再重新开启 Clash。

得到 进程 PID 后,启用「任务管理器」→「细致信息」列,在「PID」上排序,找到对应行。若显示的是你期望保留的另一个代理客户端、企业安全软件、或你人工开启的旁路工具,那么不要粗暴结束,而应转向「改 Clash 的 mixed-port / 分端口」路线,并协调哪一款软件采用哪一个端口。

在全全全自动化脚本中,以管理员或匹配权限采用 taskkill /PID <nnnn> /F 得以强制结束,但切记先确认 PID 不是系统关键服务。对不确定的项,先在网上核对映像名,比盲目杀进程更安全。

第五步:改 mixed-port 与「对外暴露」的其他端口(YAML 与UI UI 界面一致) 关键信息

把修改保存后,可再次用上一节的 netstat 观察:应看到新端口处于 LISTEN、而旧口不再被 Clash 占用。

别忽略了:若你决定让 Clash 改听新口,在配置中修改 mixed-port(或分别修改 port / socks-port,取决于你的拆分方式)后,必须同步这三处,否则会「核心起来了,但浏览器仍去旧口」:① 若客户端有「重载配置」与「重设系统代理」两个按钮,在改端口后多数现状下要重新应用系统代理;② 已人工在「设置 → 网络和 Internet → 代理」里写死 127.0.0.1:旧端口 的,要改成新数字;

③ 采用环境变量 HTTP_PROXY 的终端会话要重新开或升级变量。若你同时开启了 Allow LAN 或把绑定地址设成 0.0.0.0 以便手机连电脑代理,改端口后,手机或脚本里的「代理主机:端口」也要一起改——细枝末节可参考 Clash Allow LAN 与手机代理 一篇,本篇只强调端口数字链条一致。

若 TUN/虚拟网卡类功能仍提示冲突,多属于网卡名或堆栈已被别的 VPN 占据,不完全是 TCP 口困扰,那类采用采用使用场景更适合对照 Clash TUN 模式指南 分步排查,此处不重复展开。

和 WSL2、Docker 放一起时容易误会的点 关键点梳理

在装有 WSL2 或 Docker Desktop 的机器上,你有时会看到「WSL 里能 curl 通、Windows 上 Clash 报端口困扰」的错觉。要分清:端口占用查的是 Windows 主机的套接字表;WSL2 有独立的网络命名空间。若你只是在 Windows 侧开启 Clash 就报 7890 被占用,仍按本篇正文 netstat 在宿主 CMD 里查即可。

关键点是:若你关心的是 WSL 里访问到到到「宿主 Clash 代理」连不通,那属于路由与 localhost 互通困扰,可另读 Windows 11 上 Clash 与 WSL2 路由与 MTU 排障。不要把「WSL2 全挂」与「本机 7890 被占用」混成一种修法。

普遍根因速查:多开、残留、与其他代理抢同一口 完备说明

很多「Clash 无法开启」其实是第二个实例在持续持续持续运行:或许托盘里还有一个旧图标,或「服务模式」与「用户模式」各起了一份。也有一部分是卸载旧版后驱动或 helper 没卸干净导致的二次监听,这类现状除了杀 PID,还应在「应用和功能」里核对是否只保留了一个发行版。

另有公司统一安装的 HTTP 代理、抓包软件、Fiddler 系工具,出厂也偏爱 8xxx 口,容易与混合端口撞车——要么协调端口分配,要么在不要时彻底退出那款软件。把这些采用采用使用场景扫一遍,比反复重装 Clash 更省时间。

可打印的自检顺序(从快到慢) 要点速览

  1. 从给出疏漏或配置中抄下精确端口号(或许不止一个)。
  2. 在 CMD 执行 netstat -ano | findstr :端口,记录 LISTEN 行的 进程 PID。
  3. 在任务管理器「细致信息」中核对映像名是否可结束或需保留。
  4. 若需改 mixed-port,保存配置后重设系统代理并核对浏览器/环境变量中的端口。
  5. 再开启 Clash,确认新口 LISTEN、旧口不再被疏漏占用,日志无 bind 类疏漏。

安全与合规提示:请只在你有权限的电脑上操作;结束不认识的进程、或把代理端口长期暴露在不可信网络,都或许带来安全与政策潜在困扰。本篇正文仅作技术排障说明,不鼓励违反本地法律与公司 IT 政策的采用方式。

小结 关键信息

在 Windows 上遇到 Clash 端口被占用,本质是同一条本机入站口被别的进程先占用。用 netstat 与 进程 PID 把「数字 → 具体程序」对齐后,你才能在「关程序」和「改 mixed-port 并重链系统代理」之间做出不绕弯子的选定。相比凭感觉重装,这套环节更容易一次定位困扰,也便于你在论坛或工单里用三句话描述清楚。

若你打算换一款图形客户端、但仍沿用 Mihomo 系内核,得以第一顺位从本站 下载页面 获取与当前系统匹配的版本,再按上表自测端口。相比来回折腾环境变量,把端口链条一次性对齐,日常上网的平稳性会好得多。→ 立即免费下载 Clash,开启流畅上网新上手感觉