查看“FAQ:SS客户端”的源代码
←
FAQ:SS客户端
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:网络工具]] == FAQ == 问题参考: 1、[https://github.com/shadowsocks/shadowsocks-windows/issues/3215 求助,无法使用,提示一直超时 #3215] 2、[https://github.com/shadowsocks/shadowsocks-windows/issues/2228 为什么昨天刚换的Ip,今天就被封 #2228] == Shadowsocks错误:端口被占用 == [[File:ShadowsocksException端口已被占用.png|right|400px]] * Shadowsocks自启动时出现该问题,先排除其他服务或应用占用端口,确认由Shadowsocks导致 解决,重装Shadowsocks(?或删除并重新设置启动项?): # 删除Windows启动项中的Shadowsocks; # 备份Shadowsocks内容,并重新安装; # 右键Shadowsocks勾选“开机启动” 如未解决,参考GitHub中项目的问题页: # [https://github.com/shadowsocks/shadowsocks-windows/issues/314 Shadowsocks 错误: 端口已被占用] # [https://github.com/shadowsocks/shadowsocks-windows/issues/2171 win10 x64最近一次更新后提示端口已被占用] == Shadowsocks错误:系统保留端口 == [[File:ShadowsocksException系统保留端口.png|right|400px]] 如未解决,参考GitHub中项目的问题页: # [https://github.com/shadowsocks/shadowsocks-windows/issues/2948 Shadowsocks 错误:端口1080是系统保留端口] # [https://github.com/shadowsocks/shadowsocks-windows/issues/2630 对端口被系统保留的测试] == 修改Shadowsocks本地端口 == 出现以上两个错误:“端口被占用”、“系统保留端口”,最快捷的方式就是修改ss使用的本地端口。<br/> 修改之后还需确认软件的代理方式: # Windows系统代理:“设置”->“网络和Internet”->“代理”中,选用“手动设置代理服务器”,并设置 #: <syntaxhighlight lang="XML">地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight> # Chrome的ProxySwitchyOmega插件:在“情景模式”->“Shadowsocks”中,设置 #: <syntaxhighlight lang="XML">代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight> # 应用软件的代理设置: #: 使用“System Proxy Setting”,即“Windows系统代理”的设置 #: 使用“Custom Proxy”,设置:<syntaxhighlight lang="XML" inline>代理协议:SOCKS5,地址:http://localhost,端口:10800(修改的端口)</syntaxhighlight> == 客户端端口问题排查总结 == 记:又又又一次遇到端口不能使用(被占用、系统保留端口)【2020/11/18 17:28:59】<br/> 之前使用1080端口,在某次软件更新还是系统更新之后,提示改端口为系统保留端口,查找占用进程无果的情况下,改为使用10800;昨天更新IDM并重启系统之后,提示10800被占用,改为1080提示系统保留端口,所以又又又在网上找了一圈解决方案…… 排查占用(端口1080)的进程: # 使用“<syntaxhighlight lang="bash" inline>netstat -aon|findstr "1080"</syntaxhighlight>”查找被占用端口对应的 PID; #: [[File:1查询占用端口的进程号.jpg|400px]] # 查看PID对应的进程(或服务); #: [[File:2根据PID查看进程.jpg|400px]] #(查看哪一个chrome进程占用了端口,“shift + esc”) #: [[File:3查看chrome中使用端口的任务.jpg|400px]] 关闭了chrome进程数,以为能好使,但是……仍然提示“端口是系统保留端口”,并且找不到占用的进程: <pre> 系统保留端口在netstat是看不到有其他程序占用的,但你就是用不了。。。 </pre> 关于此问题,shadowsocks-windows项目的[https://github.com/shadowsocks/shadowsocks-windows/issues/1835 端口禁止访问 #1835]有描述: <pre> 这个问题并不是端口被占用,通过 netstat 里找不到占用这个端口的程序。 实际上,这个错误对应的 last-error 是 10013 (WSAEACCESS),权限不足。 根据2018年2月13日发布的 KB4074588 里的 known issue,这个补丁会调整操作系统的 reserve port ranges,可以通过运行 netsh interface ipv4 show excludedportrange protocol=tcp 查看。 在我自己的环境里,1025 ~ 1124 都被系统强制保留了,所以其他应用程序无法监听在这个端口。 workaround 要选取的端口也只能避开这些保留端口。 最后建议:ss 可以做一下 10013(WSAEACCES) 和 10048(WSAEADDRINUSE)的分类处理。毕竟看起来之后这个地方会出现坑不会少。 注1:我的系统是最新的1809,一直没有这个问题,直到上周安装了 SONY 的 Digital Paper App 附带的驱动之后触发了这个问题。另一台 surface pro 4 也装了 Digital Paper App,但是没有出现这个问题,不确定是不是因为 sp4 使用的是 Windows 10 Home 的关系。 注2:尝试使用 netsh interface ipv4 delete excludedportrange ... 会提示 access is denied,目前找不到可以认为调整的方法。 </pre> <pre> 分享一下曾经找到的解决办法 由于hyper-v保留了这些端口,所以需要先关闭hyper-v,保留想要保留的端口,再开启hyper-v功能 Disable hyper-v (which will required a couple of restarts) dism.exe /Online /Disable-Feature:Microsoft-Hyper-V When you finish all the required restarts, reserve the port you want so hyper-v doesn't reserve it back netsh int ipv4 add excludedportrange protocol=tcp startport=1080 numberofports=2 netsh int ipv4 add excludedportrange protocol=tcp startport=1099 numberofports=1 netsh int ipv4 add excludedportrange protocol=tcp startport=3306 numberofports=1 3.Re-Enable hyper-V (which will require a couple of restart) dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All </pre> 所以: # 不要选用系统保留的端口; # 对于非保留端口被占用,排查并结束对于进程即可; * 使用“<syntaxhighlight lang="bash" inline>netsh interface ipv4 show excludedportrange protocol=tcp</syntaxhighlight>”查看tcp的端口排除范围: *: [[File:tcp端口排除范围.jpg|400px]] 【重启之前,手动退出Shadowsocks】 【2021/04/04 19:24:34】我发现:重启之前,手动退出Shadowsocks,则重启之后不会出现端口被保留的问题。【自己和自己冲突?mmp……可能哪个服务进程变量什么jb玩意儿,在重启(或关机再开机)的过程中不能被重置】 == 客户端“time out”问题 == 首先排除: # 服务端所使用的端口是否在防火墙开启; # 客户端是否配置了正确的端口; # 服务器 ip、端口是否被锁; 解决: # '''更换服务器端口'''?(记得:防火墙开启端口并重新加载,更换本地配置) # 重启 ss 服务? # '''尝试服务器 ipv6'''?(参考:[https://github.com/shadowsocks/shadowsocks-windows/issues/3256 国内外 端口测试app 都是 通的,但是客户端 socket timeout #3256]) # '''尝试使用混淆插件'''? == '''检查 IP 是否被锁''' == 输入 IP 检查分别在国内和国外的访问情况: https://www.vps234.com/ipchecker/ == '''检查 port 是否可用''' == 使用 '''tcping'''(命令提示符工具,[https://www.elifulkerson.com/projects/tcping.php 下载])进行测试,看看端口是否能连通。 # 下载“tcping.exe”并保存到“D:\tools”; #* 并将“D:\tools”加入环境变量“Path”。 # 打开cmd: #: <syntaxhighlight lang="bash" highlight=""> tcping -t <服务器 ip> <服务器 port> </syntaxhighlight> #: [[File:tcping使用.png|600px]] 或者使用“TCP Port Check”(TCP 端口测试工具,[https://github.com/chenshaoju/tcpportcheck/releases 下载]) 1、如果您正在使用 Windows 10 ,或者安装了 Microsoft .NET Framework 4 或更高版本,请下载 TCPPortCheck-dotNet4.exe。 2、如果您在使用旧版本的操作系统,或者没有安装 Microsoft .NET Framework 4,请下载 TCPPortCheck.exe。
返回至“
FAQ:SS客户端
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息