我有一个Windows应用程序,需要使用端口50005,50006但是被阻止了。
运行时,我看到以下内容netsh int ip show excludedportrange protocol=tcp:
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
5357 5357
49709 49808
49809 49908
49909 50008
50009 50108
50109 50208
50280 50379
* - Administered port exclusions.
Run Code Online (Sandbox Code Playgroud)
所以,我的机器上的东西是预留的端口49909来50008,这大概是什么原因造成我的应用程序失败。我尝试excludedportrange使用以下命令删除它:
netsh int ip delete excludedportrange protocol=tcp numberofports=100 startport=49909
Run Code Online (Sandbox Code Playgroud)
但是我看到一个错误Access is denied.,这使我认为保留该端口的任何内容都在积极运行,但是我不知道这可能是什么。
同样奇怪的是,即使我看到一个错误,在运行该命令后,如果重新启动,情况excludedportrange也会有所不同。
作为健全性检查,我还运行resmon.exe并确认端口50005和上没有任何运行50006。
我如何知道添加了excludedportrange什么?
编辑:我已经缩小到Hyper-V。如果禁用Hyper-V,则不会排除这些端口。