修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 正文

解决端口被占的问题

2025年4月1日 1806点热度 0人点赞 0条评论

有时开机后,ssr 直接报端口被占,如图:

file

查找占用程序

大多情况下,首先能想到的就是查找网络服务:

netstat -ano | findstr 1081

如果结果里面有结果,那直接按照 PID 找到对应内容,直接关闭它就可以。

# 关闭
taskkill /pid 12345 /f

另外,像我就经常给 ssr 切换一个端口,比如 1082、1080 这样的。但是有些时候连续切几个也不好使,而且也查不到被占端口。这个时候就需要考虑默认预留的情况。

系统保留端口机制(Windows动态端口保留)

Hyper-V/容器化技术影响

Windows启用Hyper-V或安装Docker/WSL后,系统会动态保留端口范围。即使netstat未显示占用,这些端口仍被系统锁定无法使用。

netsh int ipv4 show excludedportrange protocol=tcp

通过排查可以看到系统预留端口:

file

像我这样,此时可以看到 1081 在它预留范围内。这时候,只需要把 ssr 端口设为像 1078 这样在它范围之外的值即可。

动态端口范围调整

Windows默认动态端口范围为49152-65535,但系统更新或安全策略可能导致范围扩展至1081。

如果我们想给 windows 配置范围,可以:

# 重置动态端口范围(需管理员权限)
netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384

强制排除

还有时候,我们仅仅想预留一些固定的端口给我们自己用,此时可以强制排除:

netsh int ipv4 add excludedportrange protocol=tcp startport=1081 numberofports=1

这样,1081 端口就永远排除在保留列表之外了。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: windows
最后更新:2025年4月1日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

文章目录
  • 查找占用程序
  • 系统保留端口机制(Windows动态端口保留)
    • Hyper-V/容器化技术影响
    • 动态端口范围调整
    • 强制排除
最新 热点 随机
最新 热点 随机
node-sass 的安装 解决端口被占的问题 vue3 组件 Props 的声明方式 给 div 添加选中状态 请求的取消 rgb 颜色小数兼容问题
rgb 颜色小数兼容问题 vue3 在 v-for 中实现双向绑定 JavaScript 之 canvas(四)-- 绘制文字 vue3上手 -- 更新 jz-gantt 小记 element table 加载时宽度闪烁问题 VS Code配置C&C++,亲测

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号