今天使用SSR的时候,打开突然提示我1080端口被占用,启动SSR失败

我原来还用得好好的,今天突然暴毙了
我就想去看看,是哪个程序占用了1080端口,结束掉就行了
于是我打开cmd
输入netstat -ano|findstr 1080
神奇的事情发生了,没有任何的输出
我以为我查询错了
我就用netstat -ano全部列出来一个个看
好像确实没有1080端口的占用情况

于是我想,那么我就去把SSR端口改为1081端口吧,然后结果还是一样的
我想到了端口会不会被系统保留了
于是打开cmd
输入
netsh interface ipv4 show excludedportrange protocol=tcp
得到的

嚯,1080,1081全被保留了
应该是哪个程序安装后申请保留了,原来还没有的,也可能是系统补丁更新调整了reserve port ranges来保留端口,另外开启hyper-v也会保留端口,反正这个端口不能被监听了
那就换这些端口范围之外且未被使用的端口就行了
打开SSR设置

换个其他的端口,重新启动SSR
问题解决
2020-3-22更新
今天启动IDEA,也是遇到了一样的问题

然后我在IDEA官方上看到了这个解决方案:[点击进入]
照着使用netsh winsock reset后重启,恢复正常,但是再次重启之后又出现了问题
然后下面有人说是Hyper-V的问题,我去看了一下,端口范围6942-6991确实已经被系统保留

再往下面翻,有个人说解决方案可以完成
然后进去之后就告诉说先关闭Hyper-V重启,再执行
netsh int ipv4 add excludedportrange protocol=tcp startport=<起始端口> numberofports=<端口保留数量>
然后再开启Hyper-V重启
意思就是执行这个让用户来保留,而让系统不保留这个端口范围
要注意的是,执行这个命令的时候,范围内不能有已经被保留的端口,所以才说要先关闭Hyper-V,否则会提示" 另一个程序正在使用此文件,进程无法访问。"

后面打星号的就是用户自己保留,操作系统不会保留
当然在使用SSR的1080端口的话(虽然早就不用SSR了),可以使用
netsh int ipv4 add excludedportrange protocol=tcp startport=1080 numberofports=1
来单独保留1080端口给用户
叨叨几句... 20 条评论
帮我解决了难题。
已打赏。多谢!
@CCCC
感谢
大佬 我ssr还在Windows上一次都没用过也是端口被占用,cmd里输入netstat -aon|findstr “1080”没用哇!求大佬指点
@Keiko
如果没有任何占用就用netsh interface ipv4 show excludedportrange protocol=tcp查看一下1080端口tcp是否被保留,此保留可能由系统补丁或hyper-V引起,最好是直接在SSR设置里换另一个端口
「 该评论为私密评论 」
@A
「 该评论为私密评论 」
靠谱的回答, 感谢~
之前也被这个问题困扰过,现在看完茅塞顿开,感谢博主!另外想请问一下博主的主题用的是哪个啊,我也想整一个
@hoo
https://github.com/galnetwen/H-Siren
这个的
@kairlec
啊谢谢博主!不介意把文章封面的涩图也交一下叭
@hoo
文章封面的涩图是随机的,用的托管在又拍云上的自建图床
@kairlec
嘿嘿,也是老绅士了
@hoo


@kairlec
博主我又回来烦你啦,这个主题的文章文字的颜色显示不出来哎?其他主题测试就可以
@Hoo
不太清楚,我没怎么注意,你可以改源码呀
解决啦 谢谢
想把你的网站扒下来
@阿里嘎多
小站可能就承受不起全扒下来的水平了,转内容的话标个出处就行了
netsh interface ipv4 show excludedportrange protocol=tcp 您好,,输入这个只有开始端口和结束端口 并没有具体数字的显示 怎么回事~~
@zs
最近忙没看博客,这个命令是显示区间的,在开始端口直到结束端口,整个区间都是被保留的(如果在结束端口后面打了*的是拒绝保留端口)