在 Windows 10 中,我们如何找出哪些应用程序保留了 netsh 显示的 TCP 端口范围?

zen*_*nix 8 windows-10

最近,在我的开发机器中,一些 TCP 端口开始对应用程序不可用,并出现错误 10013。

在互联网上搜索后,我认为这种解释有可能:这些端口在管理上被某些应用程序排除,很可能被保留供自己使用。

事实上,我可以使用命令查看排除端口的范围

netsh int ipv4 show excludedportrange protocol=tcp
Run Code Online (Sandbox Code Playgroud)

我还可以尝试删除一些排除的范围,但大多数 netsh 拒绝这样做,显示错误“访问被拒绝”(即使在管理 shell 内)或“未找到元素”。

所以,现在我想尝试另一种方法:找出哪些应用程序排除了这些 TCP 端口范围。

虽然这是一台公司机器,但它不属于 Windows 域(而且现在确实在我家里,因为我因为疫情而在家工作)。

那么,这就是问题:如何找到哪些应用程序正在保留这些 TCP 端口范围?


更新

Stackoverflow 中有很多关于此问题的问题(我认为这不是解决这个问题的合适地方,但无论如何)。

我在某个地方找到了对我有用的解决方案:

net start winnat
net stop winnat
Run Code Online (Sandbox Code Playgroud)

它立即生效,甚至不需要重新启动。

Windows 10 专业版 20H2 19042.804 Windows 功能体验包 120.2212.551.0


编辑。

刚才 netsh 的输出:

$ netsh int ipv4 show excludedportrange tcp
                                    
Protocol tcp Port Exclusion Ranges      
                                    
Start Port    End Port                  
----------    --------                  
     20092       20191                  
     20192       20291                  
     20292       20391                  
     20392       20491                  
     20492       20591                  
     20592       20691                  
     20792       20891                  
     20892       20991                  
     20992       21091                  
     21092       21191                  
     21192       21291                  
     21292       21391                  
     21393       21492                  
     21493       21592                  
     21593       21692                  
     21693       21792                  
     21793       21892                  
     21893       21992                  
     22033       22132                  
     22133       22232                  
     22233       22332                  
     22637       22736                  
     22737       22836                  
     22837       22936                  
     22937       23036                  
     23037       23136                  
     23137       23236                  
     23237       23336                  
     23360       23459                  
     23460       23559                  
     23560       23659                  
     23660       23759                  

* - Administered port exclusions.       
                                    
Run Code Online (Sandbox Code Playgroud)

Joh*_*ohn 1

TCP View(这是一个 Microsoft SysInternals 应用程序)是一个将端口与应用程序关联起来的非常好的工具。

查找 SysInternals,下载 TCP View,安装并运行它。它会告诉你你需要什么。

这是一个屏幕截图。

在此输入图像描述

在“选项”部分中,您可以取消选中(不显示)未连接的端口。例如,这会删除 svchost,并减少一些显示混乱。