windows上的隐蔽端口占用问题解决

赫萝 发布于 3 天前 43 次阅读


最近在调试我的一个vue项目时,发现每次启动项目,都没有正常运行在设置的3000端口上,开始以为是设置文件的问题,但换了台电脑就一切正常,同时查询端口占用也没有程序在使用3000端口。经过一系列查找,发现是Hyper-V的动态端口占用的问题。

为了使用wsl等功能,我开启了windows的Hyper-V,但其会分配一段端口来供自己使用,有时正好占用到常用的开发端口就导致了问题的发生,首先我们运行netsh int ipv4 show dynamicport tcp来查看当前的动态保留端口的范围,比如在我本机上结果如下:

Protocol tcp Dynamic Port Range
---------------------------------
Start Port      : 1024
Number of Ports : 13977

结果说明从1024端口开始的13977个端口都可能会被使用,然后执行netsh int ipv4 show excludedportrange protocol=tcp可以查看目前被使用的端口。

因为低位端口经常被用于程序开发等,所以我们需要手动调整动态端口范围到高位端口来尽量避免问题,例如通过执行命令netsh int ipv4 set dynamic tcp| start=23000 num=16384,我们可以把端口转移到23000开始的范围,重启电脑后问题解决。

此作者没有提供个人介绍
最后更新于 2025-07-28