如何在Windows机器上更改/查看短暂端口范围?

9

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

在Windows机器上,如何查看或更改短暂端口范围?

3个回答

6

http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html#Windows上写道:

根据Microsoft Knowledgebase文章929851,从Windows Vista和Windows Server 2008开始,Windows现在默认使用一个大范围(49152-65535)。该文章还展示了如何更改范围,但默认范围现在对于大多数服务器已足够。

对于较旧的Windows操作系统(Windows XP及更早版本),Windows使用传统的BSD范围1024到4999作为其短暂端口范围。不幸的是,似乎您只能设置短暂端口范围的上限。以下信息摘自Microsoft Knowledgebase文章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之间的值之间。

  • 退出注册表编辑器。

注意:还有另一篇相关的KB文章(812873),它声称允许您设置排除范围,这可能意味着您可以排除端口1024-9999(例如),以使短暂端口范围为10000-65534。但是,我们无法使其正常工作(截至2004年10月)。


2

这是一个老问题,在新的Windows版本中答案似乎已经改变了(我不确定具体是哪些版本)。

netsh int ipv4 show dynamicport tcp

在我的Windows 10电脑上,显示如下:
Protocol tcp Dynamic Port Range
---------------------------------
Start Port      : 49152
Number of Ports : 16384

要更改它,例如:
netsh int ipv4 set dynamicport tcp start=49200 num=16000

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接