如何更改/查看Windows机器上的临时端口范围?

在Linux中,我可以使用/proc/sys/net/ipv4/ip_local_port_range文件查看或更改临时端口范围。

如何查看或更改Windows机器上的临时端口范围?

http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html#Windows说:

从Windows Vista和Windows server 2008开始,根据Microsoft知识库文章929851 ,Windows现在默认使用大范围(49152-65535)。 同样的文章也展示了如何在需要的时候改变范围,但是现在大多数服务器的默认范围已经足够了。

对于较旧的Windows操作系统(Windows XP及更早版本),Windows使用1024至4999的传统BSD范围作为临时端口范围。 不幸的是,似乎只能设置临时端口范围的上限。 以下是摘自Microsoft知识库文章196271的信息 :

  • 启动注册表编辑器(Regedt32.exe)。
  • 在注册表中找到以下项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • 在编辑菜单上,单击添加值,然后添加以下注册表值:

    Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534 <for example>

    有效范围:5000-65534(十进制)默认值:0x1388(十进制5000)

    说明:此参数控制应用程序从系统请求任何可用用户端口时使用的最大端口号。 通常,短暂(即短暂)端口被分配在1024和5000之间(包括端点值)。

  • 退出注册表编辑器。

注意:还有另一个相关的知识库文章( 812873 )声称允许您设置排除范围,这可能意味着您可以排除端口1024-9999(例如)以使临时端口范围为10000-65534。 但是,我们还没有能够得到这个工作(截至2004年10月)。

版本> Windows server 2003不支持ReservedPorts。

有一个修补程序通过netsh添加缺少的功能。

http://support.microsoft.com/kb/2665809