从远程 Windows 7 PC 查询服务非常慢

Mic*_*ael 4 windows windows-7 remote service

当我从远程 Windows 7 PC 查询已安装的服务时,速度非常慢。使用远程 Windows XP PC,它总是很快。

例如,从我的 Windows 7 PC 命令

sc \\pc1 query type= service
Run Code Online (Sandbox Code Playgroud)

使用 Windows 7 远程 PC 需要 21 秒。使用 Windows XP 远程 PC,它是即时的。我可以在我们的任何 PC 上重现这种行为。其他工具也会发生这种情况(例如 Hyena) 有人知道是什么让请求如此缓慢,或者如何像使用 Windows XP 一样立即完成请求?

Gre*_*kew 7

经典的防火墙问题。

Microsoft RPC 高端口默认为 tcp/49152 - Windows 7/2008 上的 tcp/65535。除非您指定了自定义 RPC 端口范围。

有问题的特定 RPC 端点是服务控制管理器远程协议 (SCMR)。如果您在运行 sc 命令时运行数据包捕获,您将看到正在使用的端口。首先它将连接到 tcp/135 以获取 SCMR 的 RPC 端点,然后尝试连接到 SCMR 通告的端口。

如果要配置较小的端口范围,以下文章可能会有所帮助:

如何配置 RPC 动态端口分配以与防火墙一起使用
https://support.microsoft.com/kb/154596

键:HKLM\Software\Microsoft\Rpc\Internet\
值:端口
值类型:REG_MULTI_SZ

Windows Vista/7/2008 https://support.microsoft.com/kb/929851 中TCP/IP 的默认动态端口范围已更改


小智 6

服务控制器使用动态 RPC 端口,该端口在与端口 135 上的 RPC 端点映射器通信后被识别,正如 Greg Askew 所述。可以将 Windows 防火墙配置为允许 RPC 动态端口通过,而无需任何注册表编辑或 RPC 重新配置:

打开具有高级安全性的 Windows 防火墙。使用自定义类型创建新的入站规则。将其应用于所有程序。在协议和端口页面上,选择TCP作为协议,选择RPC 动态端口作为本地端口。将规则应用于任何源地址或本地接口,并允许连接(如果使用 IPsec ,则如果连接是安全的,允许连接)。无需重启。

sc 现在从远程机器上速度很快。