默认
Allen 2021-10-08 22:23:29 2853 0 0 0 0

【错误】ShadowSocks端口已被占用

【错误】ShadowSocks端口已被占用解决办法_第1张图片

错误页面如上图,首先我们去排查一下是自己电脑的端口占用了SS的1080还是运行SS的服务器上的端口被占用了,方法很简单,使用手机打开SS这时如果能够正常访问的话就是自己的电脑端有软件占用了SS的1080端口,这时我们打开命令行(Win+R) 在如下图命令行里面输入:netstat -ano (列出所有端口的情况)

【错误】ShadowSocks端口已被占用解决办法_第2张图片

我们可以看到1080端口对应的PID是6148,然后我们就需要去找一下这个6148对应的什么程序,然后把它给关闭就可以正常启用SS 继续在命令行中输入:tasklist|findstr "6148"(注意使用英文输入法的引号)

20181214122439478.png

如上图,我们能发现PID 6148对应的程序是什么(此处显示ShadowSocks是因为我已经排查好了)然后我们就可以手动关闭这个软件即可重新打开SS

如果不想使用命令行查看对应的程序,也可以打开任务管理器(Ctrl+Shift+Esc)点击进程选项,寻找PID是6148的程序进行结束进程

【错误】ShadowSocks端口已被占用解决办法_第3张图片

此时就可以重新打开SS了,回到解决方法的第一步,如果是手机客户端也没有办法访问,同时检查电脑的端口占用的时候并未发现有1080端口被占用的情况发生,那么我们就需要去排查一下搭建SS的服务器里面的程序端口使用情况,方法与上面排查的方式一样。

+++

但很多时候,没有进程在占用1080端口,依然会提示错误。

这个问题并不是端口被占用,通过 netstat 里找不到占用这个端口的程序。实际上,这个错误对应的 last-error 是 10013 (WSAEACCESS),权限不足。

根据2018年2月13日发布的 KB4074588 里的 known issue,这个补丁会调整操作系统的 reserve port ranges,可以通过运行 以下指令查看:

netsh interface ipv4 show excludedportrange protocol=tcp

在我自己的环境里,1027 ~ 1126 都被系统强制保留了,所以其他应用程序无法监听在这个端口,比如1080。

除了系统补丁会保留端口外,开启win10的hyper-v也会保留端口。

解决方法:更改SSR的本地端口

打开【选项设置】,修改【本地代理-本地端口】为一个未占用的端口即可。

将本地端口修改为"localPort": 1112,这里我随便选了一个没保留的端口。


Tag: SSR 端口 Window
我也要发一个   ·   返回首页   ·   返回[默认]   ·   前一个   ·   下一个
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[默认]   ·   返回顶部