处理windows下端口引发的程序运行问题
最近用 Windows 10 才遇到的问题
在这之前我也用了很久的Win 10了, 却一直没有遇到过
觉得有些奇葩, 做下简单记录
简述
如果你在Windows下运行一些需要使用端口的软件, 但是软件运行中发生莫名问题
那么恭喜你
这篇文章可能能帮助到你
Windows的动态端口范围
Windows 中有一个「TCP 动态端口范围」, 处在这个范围内的端口, 有时候会被一些服务占用
据网上信息
在 Windows Vista(或 Windows Server 2008)之前,动态端口范围是 1025 到 5000;
在 Windows Vista(或 Windows Server 2008)之后,新的默认起始端口为 49152,新的默认结束端口为 65535
Hyper-V 预留端口
Hyper-V 会为容器宿主网络服务(Windows Container Host Networking Service)随机保留一些端口号使用
排查
查看系统预留端口
netsh int ipv4 show excludedportrange protocol=tcp
可以看到系统实际预留的端口范围
也可以用 netsh int ipv4 show dynamicport tcp
查看系统当前设置的动态端口范围
修改动态端口设置
使用命令 netsh int ipv4 set dynamic tcp start={开始端口} num={预留数量}
来进行设置
当然如果有 IPv6 需求, 将上面命令中的 ipv4 替换成 ipv6